以下是在Ubuntu上实现FTP服务器自动备份的步骤(以vsftpd为例):
安装FTP服务器
sudo apt update
sudo apt install vsftpd
配置FTP服务器
编辑配置文件 /etc/vsftpd.conf
,确保以下参数正确:
listen=YES
local_enable=YES
write_enable=YES
chroot_local_user=YES
重启服务:
sudo systemctl restart vsftpd
创建备份目录
sudo mkdir -p /backup/ftp
sudo chown ftpuser:ftpuser /backup/ftp
编写备份脚本
创建 /usr/local/bin/backup_ftp.sh
,内容示例:
#!/bin/bash
SOURCE_DIR="/path/to/ftp/data"
BACKUP_DIR="/backup/ftp"
DATE=$(date +"%Y%m%d")
BACKUP_FILE="$BACKUP_DIR/ftp_backup_$DATE.tar.gz"
tar -czvf $BACKUP_FILE $SOURCE_DIR
# 可选:删除7天前的旧备份
find $BACKUP_DIR -name "ftp_backup_*.tar.gz" -mtime +7 -exec rm {} \;
赋予执行权限:
sudo chmod +x /usr/local/bin/backup_ftp.sh
设置定时任务
通过crontab -e
添加定时任务(如每天凌晨2点执行):
0 2 * * * /usr/local/bin/backup_ftp.sh
验证备份
手动运行脚本检查备份文件是否生成:
/usr/local/bin/backup_ftp.sh
ls -l /backup/ftp
说明:
/var/log/syslog
)确保备份任务正常运行。