在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自動備份了。確保定期檢查備份文件和日志,以確保數據的安全性和完整性。