CentOS SFTP備份策略
/home/[用戶名]/目錄)、SFTP服務器配置文件(/etc/ssh/sshd_config)、SFTP用戶權限相關文件(/etc/passwd、/etc/group)及SELinux策略(若啟用,/etc/selinux/config、/var/lib/selinux)。/backup/sftp)、外部存儲設備或遠程服務器(通過SFTP/SCP傳輸),優先考慮異地備份以防范本地災難。rsync -av --delete /source/dir/ user@destination:/backup/dir/(-a歸檔模式、--delete同步刪除目標目錄中源目錄不存在的文件)。tar -czvf backup.tar.gz /source/dir/(-z壓縮、-v詳細模式)。scp backup.tar.gz user@remote_host:/remote/backup/dir/。backup_sftp.sh):#!/bin/bash
SOURCE_DIR="/home/sftp_user"
BACKUP_DIR="/backup/sftp"
LOG_FILE="$BACKUP_DIR/backup_$(date +%Y%m%d).log"
mkdir -p "$BACKUP_DIR"
rsync -av --delete "$SOURCE_DIR" "$BACKUP_DIR" >> "$LOG_FILE" 2>&1
if [ $? -eq 0 ]; then
echo "$(date): Backup succeeded." >> "$LOG_FILE"
else
echo "$(date): Backup failed." >> "$LOG_FILE"
fi
crontab -e添加定時任務,如每日凌晨2點執行備份:0 2 * * * /path/to/backup_sftp.sh。>> "$LOG_FILE" 2>&1),記錄備份時間、成功/失敗狀態及錯誤信息,便于后續排查問題。tail -f /backup/sftp/backup.log),確認備份任務是否按時執行;可通過郵件通知(結合mail命令)或監控工具(如Nagios)實時監控備份狀態。du -sh /source/dir/與du -sh /backup/dir/對比)。rsync -av /backup/dir/ /source/dir/或tar -xzvf backup.tar.gz -C /source/dir/),確認恢復后的數據完整可用。700(僅所有者可讀寫執行),避免未授權訪問:chmod 700 /backup/sftp。gpg)加密,防止數據泄露:gpg -c backup.tar.gz(生成backup.tar.gz.gpg加密文件)。chroot jail),修改/etc/ssh/sshd_config配置:Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
并重啟SSH服務:systemctl restart sshd。