#!/bin/bash # Shell script to copy all files recursively and upload them to # remote FTP server (copy local all directories/tree to remote ftp server) # # If you want to use this script in cron then make sure you have # file pointed by $AUTHFILE (see below) and add lines to it: # host ftp.mycorp.com # user myftpuser # pass mypassword # # This is a free shell script under GNU GPL version 2.0 or above # Copyright (C) 2005 nixCraft # Feedback/comment/suggestions : http://cyberciti.biz/fb/ # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------------- FTP="/usr/bin/ncftpput" CMD="" AUTHFILE="/root/.myupload" if [ -f $AUTHFILE ] ; then # use the file for auth CMD="$FTP -m -R -f $AUTHFILE $myf $remotedir $localdir" else echo "*** To terminate at any point hit [ CTRL + C ] ***" read -p "Enter ftpserver name : " myf read -p "Enter ftp username : " myu read -s -p "Enter ftp password : " myp echo "" read -p "Enter ftp remote directory [/] : " remotedir read -p "Enter local directory to upload path [.] : " localdir [ "$remotedir" == "" ] && remotedir="/" || : [ "$localdir" == "" ] && localdir="." || : CMD="$FTP -m -R -u $myu -p $myp $myf $remotedir $localdir" fi $CMD
Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our email newsletter to make sure you don't miss a single tip/tricks.
- Download Script
- Email this to a friend
- Rss Feed
- Last Updated: 04/9/08
{ 5 comments… read them below or add one }
Thank you!
it was so usefull for my work.
If the SAME file exists in the remote server, the script overwrite it? append? resume?
It will overwrite the file.
I love you!
If using the AUTHFILE option, don’t forget to set the following variables in this script
myf=”my-ftp-server.com”
remotedir=”/my/remote/dir”
localdir=”/my/local/dir”
And yes, you will need ncftp installed, if it is not already
For OS X with mac ports,
sudo port install ncftp