FTP automated?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers FTP automated?
# 1  
If I wanted a machine to put a specific file onto another OS far across the internet via FTP - and I wanted to do it automatically not user intervented, how would I do that?

Use the PUT command?

The file name and position never changes, it gets overwritten and the system on the other end takes care of all the dirty work. I just need the unix server to FTP that one file.
# 2  
You can create a file called ".netrc" in your home directory. Put these line in .netrc file:

machine servername login username password passwordhere

When it's done, create a file (we will call it "ftpcommands")
that contains the commands. For example:

cd /ftp/directory
put yourfile
bye

and call it:
# ftp servername < ftpcommands

or

#!/bin/bash
#autoftp.sh
ftp machine < ftpcommand

# ./autoftp.sh

Note: chmod 400 .netrc

You can also use "expect". man expect for more info


HTH
# 3  
Slight Variation

I keep getting these requests, driven me nuts.
Now I need to be able to put a variable. Variables do not get handed off well to the FTP process commands.
Any ideas?

Example: I wanna put this command in place

put $1.backup.file

FTP is not pulling the filename correctly - I get cannot find file $1.backup.file


# 4  
#!/bin/bash
#autoftp.sh
# use "\n" to seperate entry
# and use binary instead ascii if you think

FTPCommand="cd FTPdirectory\nascii\nput $1.backup.file\nbye"
echo -e $FTPCommand | ftp machine
echo "$1 Ftp'd to machinename"

and run this script to ftp "today.backup.file"

# ./autoftp today

Be sure to include full path if "today.backup.file" file is not in the directoy from where you execute the script.


HTH

[Edited by mib on 05-11-2001 at 07:29 AM]
# 5  
We use variations on the following script all over the place. We designed an "FTP server" written in korn shell to handle ALL FTP's between different platforms aw well as our corporate "Enterprise FTP server (Sterling Mailbox)

All variables are defined before invoking the FTP. (Currently in a flat file - soon to be in a DB table)


Contents of DYNAM_FTP.KSH:
#!/etc/usr/ksh
assorted variable assignments
ftp -n -v $HOSTNAME <<-END
user $USERID $PASSWORD
cd $SRC_DIR
lcd $TARGET_DIR
pwd
get $SRC_FILE
END


The above "here document" is dynamically built based on a control record which specifies source info (IP, id, password, filename, etc.)
External to the above:
chmod +x DYNAM_FTP.KSH
DYNAM_FTP.KSH to invoke
We capture the output of the above to a file and then grep for various errors....

[Edited by kornshellmaven on 05-12-2001 at 06:58 PM]
# 6  
Well - tried it, and even with that it still trys to put those IDs in instead of a variable

example

cd $Src_Dir

It trys to change to a directory /$Src_Dir

Don't work - any other ideas?

Solaris 7
# 7  
Lightbulb

Not sure why it's not expanding the variables within the here-document - Turn xtrace on to see commands echoed back

The following works fine
#!/usr/bin/ksh -x
DATA=$AL_DATA
ftp -n -v slapdev <<-END
user userid password
pwd
cd $DATA
pwd
END
It doesn't matter if I cd to $DATA or $AL_DATA (exported variable)- it gets expanded OK

We also have routines to build the FTP here-doc dynamically
exec 4>dynam_ftp.sh
print -u4 "#!/usr/bin/ksh -x"
print -u4 "ftp -v -n $DEST <<-END"
print -u4 "user $USER $PASSWORD"
print -u4 "cd $DATA"
print -u4 "pwd"
print -u4 "lcd $SRC_DIR"
print -u4 "mget $FILE_PATTERN"
print -u4 "END"

chmod +x dynam_ftp.sh
dynam_ftp.sh

The contents of the dynam_ftp.sh file will have the fully expanded variable values. The above might be a little overkill for your needs.

We're running Solaris 7 as well
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #738
Difficulty: Medium
RadioShack introduced a 50 MB external hard disk for the TRS-80 Model III/4 in 1983.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Automated FTP

Hello,I just know the basics of scripting & I need a script to automate ftp since I use it quite often. I use ftp to transfer different kind of files and everytime the source & the destination directories are different for transferring files, so can anyone help me out on this urgently.. (2 Replies)
Discussion started by: mohit_02mar
2 Replies

2. Shell Programming and Scripting

Automated FTP script using .netrc to multiple FTP servers

Hi all, I'm using the following script to automated ftp files to 1 ftp servers host=192.168.0.1 /usr/bin/ftp -vi >> $bkplog 2>&1 <<ftp open $host bin cd ${directory} put $files quit ftp and the .netrc file contain machine 192.168.0.1 login abc... (4 Replies)
Discussion started by: varu0612
4 Replies

3. IP Networking

Automated FTP task

Every day i ftp tar.gz a file from the production server to a back up machine.. This task creates way to much traffic on the network at the end of the day and puts and undo load on the production machine during operation hours. i would like to create a script that would automatically fire off the... (36 Replies)
Discussion started by: LowOrderBit
36 Replies

4. Shell Programming and Scripting

Automated FTP

I want to do Automated FTP from linux client to LINUX server using a shell script after every one hour. And copies last most updated file from Linux server. OR You can say that whenever files get modified on LINUX server so it also copies on my LINUX client. Linux SERVER path=... (4 Replies)
Discussion started by: wakhan
4 Replies

5. Shell Programming and Scripting

how to devlop automated FTP in UNIX

Automated FTP. hint : use 'atd' to schedule to run a specific script. An Env Variable should be created,say CONF_DIR which points to some dir. @ some time, create a TAR file of this and FTP it to some server. (3 Replies)
Discussion started by: vishalzone2002
3 Replies

6. Shell Programming and Scripting

automated ftp.

Hi I am trying to delete some specific files ( files other than created today) from the server on a cron basis. I wrote a small script, but I am stuck up in how to delete only specific files. #!/usr/bin/expect -f set IP set timeout -1 spawn ftp $IP expect ): send "username\n"... (10 Replies)
Discussion started by: sangfroid
10 Replies

7. IP Networking

Automated ftp for Multiple files

I have seen the script posted yesterday for automated ftp Can we do some thing like ftp ing multiple files in one script Example input.txt has all files names to be ftped input.txt ------ a.tar b.ccp c.perl i need to ftp all the files present in input.txt i tried something like... (0 Replies)
Discussion started by: pbsrinivas
0 Replies

8. UNIX for Dummies Questions & Answers

one time automated ftp session

How can an automated script be setup to run at a later time in the day. cron runs recurring tasks. I am interested in a one time process. I want to back up a number of files whenever I make changes to an application and ftp for backup purposes. The script to automate the zipping of files has... (1 Reply)
Discussion started by: msmkeml
1 Replies

9. UNIX for Advanced & Expert Users

Automated FTP

My requiremnet is to write a FTP script which will ftp a file to a specified ftp url. How can I automate the process usnig the unix cron. (11 Replies)
Discussion started by: shauche
11 Replies

Featured Tech Videos