Script to FTP files

Need a script to FTP directories  from AIX box to windows. Both are at remote  locations.Has to keep the sub directories folder structure intact. Rsync and cygwin installed on windows.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


COMO=/home/logs/rsync_log.`date +%d%h%y.%H:%M`
date | tee -a ${COMO}
print "rsynci script" | tee -a ${COMO}

cd /directory/onaix
rsync --delete -e rsh -av * remoteiporname:/remotepath/.
print "completed `date`" | tee -a ${COMO}

cd /directory2/onaix
rsync --delete -e rsh -av * remoteiporname:/remotepath2/.
print "completed `date`" | tee -a ${COMO}

print "Copy completed `date`" | tee -a ${COMO}

This script will do the rsync copy, deleting files on the target that are gone from the source. It also creates a file /home/logs/... (you can change or remove this as desired) that has a copy of what happened. In this way if there is an issue you have someplace to look.

This script can be executed from a cron or using an "at" command. For example:
        at 6 pm today /etc/myrsyncscript

When creating the script on aix be sure to give it execute permission.

Note that you may need to include other options on the rsync line depending on how you have acces to the windows system setup.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Bill PrewIT / Software Engineering ConsultantCommented:
So, do you want to run the script on the unix machine and "push" the files, or do you want to run it on the windows machine and "pull" the files?

raaj4354Author Commented:
carl: I executed the script above. seems to be a connectivity issue..
remote host refused an connection operation
rsync: connection unexpectedly  closed (o bytes transferred so far)
rsync error:error in rsync protocol data stream code (12) at io.c (600) ..any ideas..

Also  can the remote path on windows can be C:/some dir/..?

I dont mind doing it either ways as long as it ftps the directories with all the files in it.
Exploring SQL Server 2016: Fundamentals

Learn the fundamentals of Microsoft SQL Server, a relational database management system that stores and retrieves data when requested by other software applications.

Ok, the issue is a login one.

rsync is configured to use ssh by default so lets replacing the line form above with this...

rsync --delete  -av * [user@]host::module/path/.
(the name/path you are putting in here is the same as you would to remote acceses a share)

This assumes you have ssh on the remote system.

This is detailed in the "-e" section of the doc at
raaj4354Author Commented:
Can the FTP done to a specific folder on windows rather than a shared folder. The script is failing since it not find the directory..!
Set up a top level share on the target system such as..
          myshare = \mycomputer\folder\folder2
and reference myshare in the login

You must have permission to log into the target system, and to write to the place where you want to put the file.
raaj4354Author Commented:
The files are being ftped out from the AIX when i see the log but i cant see the files on the windows side..!! Sorry for the late response.
My guess is that the share is not correct, or you are not using it.

Make a dummy file with some name that is unique. ftp that to the windows system and then search for it. That will tell you where they are going.
raaj4354Author Commented:
I made a dummy directory and executed  the script and I see the list of files that are uploading. My share folder is /new and in the script i gave /new/new1 and the log shows me "creating new directory /newnew1/ .  I searched the computer for folder newnew1 nothing found...
Just search for new1
raaj4354Author Commented:

COMO=/home/user/rsync_log.`date +%d%h%y.%H:%M`
date | tee -a ${COMO}
print "rsynci script" | tee -a ${COMO}

cd /usr/testdir/directory/subfolder/
rsync --delete -av * [user@]hostname:\new
print "completed `date`" | tee -a ${COMO}

print "Copy completed `date`" | tee -a ${COMO}

I searched for directory name and the files that were transferred could not find any..:-(
I pinged the host to which i am trying ftp the files and it is reachable. Checked inside the shared folder no files ftped..
Just to be sure, you have replaced [user@]hostname with the real credentials that you would use to access that share?


It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Shell Scripting

From novice to tech pro — start learning today.