Bash script to upload a directory to a remote ftp site.
Uses the built in mirror function of the lftp ftp client.
A lock file is created so script so two instances of the script cannot conflict with each other.
#!/usr/bin/bash LOCKFILE=/tmp/ftp_mirror.lock if [ -e ${LOCKFILE} ] && kill -0 `cat ${LOCKFILE}`; then exit # already running fi HOST="ftphost" USER="username" PASS="password" LCD="localpath" RCD="remotepath" # make sure the lockfile is removed when we exit and then claim it trap "rm -f ${LOCKFILE}; exit" INT TERM EXIT echo $$ > ${LOCKFILE} # upload files lftp -c "set ftp:list-options -a; open ftp://$USER:$PASS@$HOST; lcd $LCD; cd $RCD; mirror --reverse" rm -f ${LOCKFILE}
No comments:
Post a Comment