我想请你帮忙。我是一个脚本菜鸟,我需要制作一个脚本来通过FTPS备份我们的网络服务器。我制作了这个脚本,但它只生成备份文件,但它不会将该文件上传到FTPS服务器。但是,当我单独运行lftp命令时,它可以工作。我很长一段时间都在看这个,但是我无法找到,为什么它不起作用......有人可以帮忙吗?谢谢!
#!/bin/bash
# SETTINGS
RMDATE=$(date --iso -d '10 days ago').tar
FTPUSER=user
FTPPW=pass
FTPSERVER=my.server.com
LFTP=/usr/bin/lftp
# DELETE OLD BACKUPS
rmold () {
$LFTP << EOF
open ${FTPUSER}:${FTPPW}@${FTPSERVER}
rm -rf ${RMDATE}
bye
EOF
echo "Done."
}
# PLESK BACKUP
if /usr/local/psa/bin/pleskbackup server -v --exclude-logs >/tmp/backup-plesk.log 2>&1 --output-file=/var/www/bak/`date -I`.tar; then
if lftp -c "open ${FTPUSER}:${FTPPW}@${FTPSERVER}; put /var/www/bak/`date -I`.tar"; then
rm -f /var/www/bak/`date -I`.tar
/usr/bin/sendEmail <<< some parameters >>> # backup success message
rmold
else
/usr/bin/sendEmail <<< some parameters >>> # upload error message
exit 1
fi
else
/usr/bin/sendEmail <<< some parameters >>> # backup error message
exit 1
fi
答案 0 :(得分:0)
我遇到了FTP FEAT和证书问题。我在lftp配置文件中禁用了FEAT,并指定了证书的完整路径。它现在有效。