在 Linux 上“备份 SFTP 文件”通常有两种理解:
下面分别说明常见做法。
sftp 命令(交互式)sftp user@remote_host
get -r /remote/path /local/backup/path
-r:递归下载目录lftp(推荐,支持断点续传)lftp sftp://user@remote_host -e "mirror /remote/path /local/backup/path; bye"
mirror:只同步变更文件rsync + SSH(最常用)如果远程支持 SSH:
rsync -avz -e ssh user@remote_host:/remote/path /local/backup/path
优点:
scpscp -r user@remote_host:/remote/path /local/backup/path
如果你是提供 SFTP 备份服务:
useradd -m backupuser
passwd backupuser
编辑 /etc/ssh/sshd_config:
Match User backupuser
ChrootDirectory /backup
ForceCommand internal-sftp
然后:
systemctl restart sshd
crontab -e
0 2 * * * rsync -az -e ssh user@remote:/data /backup/data >> /var/log/sftp_backup.log
/backup/2026-01-21)如果你能说明:
我可以给你更精确的方案。