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,并指定了证书的完整路径。现在可以使用了。