Sponsored Content
Full Discussion: Need a Shell Script for FTP
Top Forums Shell Programming and Scripting Need a Shell Script for FTP Post 302925841 by maruf on Wednesday 19th of November 2014 02:40:16 PM
Old 11-19-2014
Need a Shell Script for FTP

Code:
exec >/tmp/log
exec 2>&1  
  HOST=''
  ftpuser=''
  ftppass=''
  NOW=$(date +"%m-%d-%Y")
  FILE="XXXX.$(date +%y%m%d)"
if ! mkdir /tmp/$$
then
        echo "Couldn't create /tmp/$$" >&2
        exit 1
fi

echo "Storing into /tmp/$$" >&2

SrcDir="FTP"
DstDi='/tmp/'

trap "rm -Rf /tmp/$$" EXIT # Clean up temp folder when the script quits by any means

# Check if you can connect.
ftp -nvd $HOST <<EOF
quote user $ftpuser
quote pass $ftppass
hash
prompt off
ls
EOF

if [ "$?" -ne 0 ]
then
        echo "Couldn't connect" >&2
        exit
fi

# Get the remote file
ftp -nvd $HOST <<EOF
quote USER $ftpuser 
quote PASS $ftppass
hash
prompt off
lcd /tmp/$$
bin
get $FILE
bye
EOF

if [ "$?" -ne 0 ]
then
        echo "Couldn't retrieve $FILE" >&2
        exit
fi

OLDIFS="$IFS" # Special IFS variable controls splitting of unquoted variables
IFS="/"

for FILE in /tmp/$$/*
do
        if [ ! -f "$FILE" ]
        then
                echo "No files retrieved" >&2
                exit 1
        fi

        set -- $FILE        # Splits /path/to/file into $1="", $2="path", $3="to", $4="file"
        shift $(( $# - 1 )) # $1="file", all the rest disappears

        if [ "$(wc -c < "${DstDi}/$1")" -ne "$(wc -c < "/tmp/$$/$1")" ]
        then
                echo "Sizes of original and new file differ" >&2
                exit
        fi
done

IFS="$OLDIFS"

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

using ftp in a shell script.

I am trying to ftp some files from a certain directory, but i got an invalid command. does anybody know why i got this error? ftp -v -i -n <<SCRIPT open servername user username password cd /server/logs for file in MCWAS* do put ${file} /home/test/${file} done bye SCRIPT (2 Replies)
Discussion started by: caesarkim
2 Replies

2. Shell Programming and Scripting

ftp in shell script

Hi, I have to ftp to a remote machine. i have got the Ip, username and password and the file path.. I need to get the file name with out user intervention in my script.. is there any way to do this.. please help esham (2 Replies)
Discussion started by: esham
2 Replies

3. UNIX for Dummies Questions & Answers

Shell script for ftp

Hi ,, I am wrting a shell script to ftp a file from remote server but its giving some problem to me.can you help me in debugging this. #!/usr/bin/ksh HOST="some ip" user="user_name" passwd="password" ftp -n $HOST >>END_SCRIPT USER $user $passwd binary prompt get... (3 Replies)
Discussion started by: namishtiwari
3 Replies

4. Shell Programming and Scripting

FTP via shell script

Hi, I need to upload a file via ftp. I have given : ftp -n $HOST <<END quote user $USER quote pass $PASSWD prompt off put bus.txt quit END Its throwing a syntax error at "<<" symbol. What should be done for this ?? (2 Replies)
Discussion started by: risshanth
2 Replies

5. Shell Programming and Scripting

ftp with shell script

Can I ftp to put file with shell script(as bath file) ? Plz give the simple code to do that. My script look like that #!/bin/sh echo "Start ftp" ftp temphost <<EOF put file quit EOF # end This code ignore username & password but I need to input. How to input username &... (8 Replies)
Discussion started by: aungomarin
8 Replies

6. UNIX for Advanced & Expert Users

FTP in shell script

HI ALL i am writing a shell script in which i have to use FTP command like. FTP <ip address> cd xyz mget* bye but i am not able to perform any command from shell script. once the control goes to FTP, i again have to type all the things. i just want my shell script to take care of the... (8 Replies)
Discussion started by: infyanurag
8 Replies

7. Shell Programming and Scripting

Help with Shell script for FTP

#!/usr/bin/ksh export filename=/grid/PowerCenter/inbound/AT/filelist.txt export SOURCE_DIR=/grid/PowerCenter/inbound/AT export ICOMS_FTP_TGT_DIR1=/dw/input/ATU/ICOM_SERV1 export ICOMS_FTP_TGT_DIR2=/dw/input/AT/ICOM_SERV2 export FILE_MASK="ATRPU_RP_ATU" echo "start" ftp_data_file() { ... (15 Replies)
Discussion started by: vsmeruga
15 Replies

8. Shell Programming and Scripting

FTP within a SHELL script

I am running the following on linux (on a mac): filename="/Users/thisfilename.txt" hostname="ftp.mysite.com" username="myusername" password="mypassword" echo '=======FTP========' ftp -un $hostname <<EOF quote USER $username quote PASS $password binary put $filename quit EOF I... (4 Replies)
Discussion started by: globalnerds
4 Replies

9. Shell Programming and Scripting

Help With FTP Shell Script

So i Administer multiple ftp servers that run on dynamic IP's as well as user and password settings are changed by other people constantly. What i need to do is ensure that an FTP is server is up on the IP i check. As well as the login credentials work. Here is a simple script i wrote. However... (2 Replies)
Discussion started by: Noledge
2 Replies

10. UNIX for Dummies Questions & Answers

FTP in Shell Script

Dear All, I am using FTP in a script. But when i exit from the FTP session, the commands written after EOF don't get executed. i.e. ftp <<EOF quote $login quote $password cd /tmp mget *somefile* bye EOF echo $some_variable #This last echo command or whatever piece of commands i... (10 Replies)
Discussion started by: Salman786
10 Replies
MKTEMP(1)						    BSD General Commands Manual 						 MKTEMP(1)

NAME
mktemp -- make temporary file name (unique) SYNOPSIS
mktemp [-d] [-q] [-u] template DESCRIPTION
The mktemp utility takes the given file name template and overwrites a portion of it to create a file name. This file name is unique and suitable for use by the application. The template may be any file name with at least 6 of 'Xs' appended to it, for example /tmp/temp.XXXXXX. The trailing 'Xs' are replaced with the current process number and/or a unique letter combination. The number of unique file names mktemp can return depends on the number of 'Xs' provided; six 'Xs' will result in mktemp testing roughly 26 ** 6 combinations. If mktemp can successfully generate a unique file name, the file is created with mode 0600 (unless the -u flag is given) and the filename is printed to standard output. OPTIONS
The available options are as follows: -d Make a directory instead of a file. -q Fail silently if an error occurs. This is useful if a script does not want error output to go to standard error. -u Operate in ``unsafe'' mode. The temp file will be unlinked before mktemp exits. This is slightly better than mktemp(3) but still introduces a race condition. Use of this option is not encouraged. RETURN VALUES
The mktemp utility exits with a value of 0 on success, and 1 on failure. EXAMPLES
The following sh(1) fragment illustrates a simple use of mktemp where the script should quit if it cannot get a safe temporary file. TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1 echo "program output" >> $TMPFILE In this case, we want the script to catch the error itself. TMPFILE=`mktemp -q /tmp/$0.XXXXXX` if [ $? -ne 0 ]; then echo "$0: Can't create temp file, exiting..." exit 1 fi Note that one can also check to see that $TMPFILE is zero length instead of checking $?. This would allow the check to be done later one in the script (since $? would get clobbered by the next shell command). SEE ALSO
mkstemp(3), mktemp(3) HISTORY
The mktemp utility appeared in OpenBSD. BSD
November, 20, 1996 BSD
All times are GMT -4. The time now is 09:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy