bash备份脚本 - pleskbackup + lftp

时间:2017-10-30 09:39:29

标签: bash backup plesk ftps

我想请你帮忙。我是一个脚本菜鸟,我需要制作一个脚本来通过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

1 个答案:

答案 0 :(得分:0)

我遇到了FTP FEAT和证书问题。我在lftp配置文件中禁用了FEAT,并指定了证书的完整路径。它现在有效。