宝塔面板可通过三种方式实现网站远程FTP备份:一、使用内置计划任务的FTP备份功能;二、专业版“异地同步”插件支持增量同步;三、手动编写lftp脚本调度上传。

如果您在宝塔面板中已部署网站,但尚未配置远程备份机制,则可能面临本地磁盘损坏或服务器故障导致数据丢失的风险。以下是将网站备份至远程FTP以实现异地容灾的具体操作路径:
一、启用并配置宝塔计划任务中的FTP备份功能
宝塔面板内置的计划任务模块支持直接调用FTP协议上传备份文件,无需额外安装插件,适用于标准FTP与FTPS协议环境。
1、登录宝塔面板后,点击左侧菜单栏的计划任务。
2、在右上角点击添加计划任务按钮。
3、在类型下拉框中选择备份网站。
4、在“备份到”选项中选择FTP,随后展开FTP配置区域。
5、填写远程FTP服务器地址、端口(默认21,FTPS请填990)、用户名、密码及目标路径(如/backup/www/),勾选启用SSL连接(FTPS)(若服务器支持)。
6、在“要备份的网站”中勾选需容灾的站点,设置执行周期(如每天凌晨2点)并保存。
二、使用宝塔专业版的异地同步插件
宝塔专业版提供独立的“异地同步”插件,支持将本地备份目录完整镜像至远程FTP服务器,并具备断点续传与增量比对能力。
1、进入面板首页,点击软件商店,搜索并安装异地同步插件(仅限专业版)。
2、安装完成后,在左侧菜单找到异地同步入口。
3、点击添加同步任务,源路径选择/www/backup/site/(网站备份默认目录)。
4、目标类型选择FTP,输入FTP主机、认证信息及远程目录,启用启用增量同步和删除远程过期备份选项。
5、设置同步触发方式为定时同步,间隔建议不低于6小时,避免频繁连接超时。
三、通过Shell脚本结合lftp命令手动调度FTP上传
对于需要精细控制上传行为(如压缩前过滤日志文件、添加时间戳命名)的场景,可编写Shell脚本调用lftp工具完成FTP推送,该方式兼容所有宝塔版本且权限可控。
1、确认服务器已安装lftp:yum install lftp -y(CentOS)或apt install lftp -y(Ubuntu/Debian)。
2、创建脚本文件:vi /www/server/panel/script/ftp_backup.sh。
3、在脚本中写入以下内容(替换对应FTP参数):
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/www/backup/site"
FTP_HOST="your-ftp-domain.com"
FTP_USER="username"
FTP_PASS="password"
FTP_DIR="/backup/site_$DATE"
tar -zcf /tmp/site_backup_$DATE.tar.gz -C $BACKUP_DIR .
lftp -c "set ftp:ssl-force true; set ftp:ssl-protect-data true; open ftp://$FTP_USER:$FTP_PASS@$FTP_HOST; mkdir $FTP_DIR; put /tmp/site_backup_$DATE.tar.gz -o $FTP_DIR/site_full_$DATE.tar.gz; quit"
4、赋予执行权限:chmod +x /www/server/panel/script/ftp_backup.sh。
5、在宝塔计划任务中新增任务,类型选Shell脚本,命令填入/www/server/panel/script/ftp_backup.sh,设定执行时间。









