在CentOS上配置SFTP自动备份,可以通过以下步骤实现:
首先,确保你的CentOS系统已经安装了OpenSSH服务器和rsync工具。
sudo yum install openssh-server rsync
编辑/etc/ssh/sshd_config文件,确保以下配置项存在并正确设置:
Subsystem sftp internal-sftp
然后重启SSH服务以应用更改:
sudo systemctl restart sshd
创建一个专门用于备份的用户,并为其设置密码。
sudo adduser backupuser
sudo passwd backupuser
编辑/etc/rsyncd.conf文件,添加一个模块用于备份。例如:
[backup]
path = /path/to/source
comment = Backup Module
read only = no
list = yes
uid = backupuser
gid = backupuser
auth users = backupuser
secrets file = /etc/rsyncd.secrets
创建/etc/rsyncd.secrets文件,并添加用户名和密码:
echo "backupuser:password" | sudo tee /etc/rsyncd.secrets
sudo chmod 600 /etc/rsyncd.secrets
启动rsync守护进程并设置为开机自启:
sudo systemctl start rsyncd
sudo systemctl enable rsyncd
使用crontab设置定时任务,定期执行备份脚本。
编辑当前用户的crontab文件:
crontab -e
添加一行定时任务,例如每天凌晨2点执行备份:
0 2 * * * /usr/bin/rsync -avz --delete /path/to/source backupuser@localhost::backup
保存并退出编辑器。
手动运行备份命令以确保一切正常:
/usr/bin/rsync -avz --delete /path/to/source backupuser@localhost::backup
确保rsync守护进程的日志文件被正确记录,以便监控备份过程和排查问题。日志文件通常位于/var/log/messages或/var/log/rsyncd.log。
通过以上步骤,你就可以在CentOS上配置SFTP自动备份了。确保定期检查备份文件和日志,以确保数据的安全性和完整性。