我有一个 bash 脚本,可以增量(每天)和完整(在星期一)创建备份。每隔 7 天,脚本会结合一周的备份(完整和增量)并将它们发送到 FTP 服务器,我遇到的问题是我想在 FTP 上传完成后从备份目录中删除文件,但我不能这样做直到我知道文件已成功上传。我需要弄清楚如何捕获“226 传输完成”,这样我就可以在“IF”语句中使用它来删除备份文件。任何帮助是极大的赞赏。他也是我脚本的 FTP 部分
if [ -a "$WKBKDIR/weekending-$YEAR-$MONTH-$DAY.tar.gz" ]; then
HOST=192.168.40.30 #This is the FTP servers host or IP address.
USER=username #This is the FTP user that has access to the server.
PASS=password #This is the password for the FTP user.
ftp -inv $HOST << EOF
user $USER $PASS
cd /baks
lcd $WKBKDIR
put weekending-$YEAR-$MONTH-$DAY.tar.gz
bye
EOF
fi
我想我可以使用我需要的任何手段,FTP 已经为其他备份功能设置了其他东西,谢谢
第二次编辑 Ahmed rsync 在命令行测试中效果很好,它比 FTP 快得多,服务器在本地网络上,所以 SSH 没什么大不了的,但为了增加安全性很高兴,我将在我的脚本中完成实现明天,再次感谢