备份本地文件,通过ftp命令,备份到远程服务器

#!/bin/bash
today=$(date +%Y%m%d)

#备份到远程机器的路径(通过ftp)
backuppath=/usr/local/webapps/tftp

#本地备份的文件路径
backupfilepath=/usr/local/webapps

#备份后的文件名称
filename=backup_$today.tar.gz
ftpserver=172.19.8.50
cd $backupfilepath 

#判断用户的ID号(root用户)
if [ $UID == 0 ]; then

  #查找在系统中最后24*8小时里修改过的文件并删除
  find $backuppath -type f -name "*.xml" -mtime 8 | xargs rm -rf
  find $backupfilepath -type f -name "backup_*.tar.gz" -mtime 8 | xargs rm -rf
  if [ -e $filename ]; then

    #删除最近一次打包过的文件
    rm -f $filenmae && tar -czvPf backup_$today.tar.gz $backuppath
  else
    tar -czvPf backup_$today.tar.gz $backuppath
  fi
  while [ -e $filename ]
  do
    ftp -v -n $ftpserver << END
      user "username" password
      binary
      hash
      cd /backup/

#默认情况下,每上传一个文件都输入一下y来确认

#关闭交互模式,再次使用此命令则是打开操作

      prompt
      mput $filename
    bye
  END
exit
done
else
  echo "please run as root!"
fi

猜你喜欢

转载自zengshaotao.iteye.com/blog/2111861