bash 备份脚本 - pleskbackup + lftp
bash backup script - pleskbackup + lftp
我想请你帮忙。我是一个脚本菜鸟,我需要制作一个脚本来通过 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
我对 FTP FEAT 和证书有疑问。我在 lftp 配置文件中禁用了 FEAT,并指定了证书的完整路径。现在可以使用了。
我想请你帮忙。我是一个脚本菜鸟,我需要制作一个脚本来通过 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
我对 FTP FEAT 和证书有疑问。我在 lftp 配置文件中禁用了 FEAT,并指定了证书的完整路径。现在可以使用了。