在Ubuntu下,使用vsftpd作为FTP服务器时,可以通过编写脚本来实现自动备份。以下是一个简单的示例,展示如何使用bash脚本和rsync命令来实现自动备份。
sudo apt-get update
sudo apt-get install vsftpd
vsftpd_backup.sh的脚本:sudo nano /usr/local/bin/vsftpd_backup.sh
#!/bin/bash
# 设置备份目录
backup_dir="/path/to/your/backup/directory"
# 设置FTP服务器的用户名和密码
ftp_user="your_ftp_username"
ftp_pass="your_ftp_password"
# 设置要备份的目录
source_dir="/path/to/your/vsftpd/root/directory"
# 设置备份文件名,包括日期和时间
timestamp=$(date +"%Y%m%d_%H%M%S")
backup_file="vsftpd_backup_$timestamp.tar.gz"
# 使用rsync命令备份目录
rsync -avz --delete $source_dir $backup_dir/$backup_file
# 使用lftp将备份文件传输到远程服务器
lftp -e 'mirror --reverse --delete; quit' -u $ftp_user,$ftp_pass ftp://your_remote_server/path/to/backup/directory
修改脚本中的backup_dir、ftp_user、ftp_pass、source_dir和your_remote_server变量,以匹配您的实际设置。
保存并关闭脚本。
为脚本添加可执行权限:
sudo chmod +x /usr/local/bin/vsftpd_backup.sh
/usr/local/bin/vsftpd_backup.sh
crontab -e命令编辑cron配置:sudo crontab -e
0 1 * * * /usr/local/bin/vsftpd_backup.sh
注意:这个示例使用了rsync和lftp命令,因此可能需要安装它们:
sudo apt-get install rsync lftp