在 Linux 上“备份 SFTP”通常有两种理解,下面分别说明,你可以按需要选择。
如果你是指:把 SFTP 服务器上的文件备份下来,可以用以下几种方式。
sftp 命令手动下载备份sftp user@sftp-server:/remote/path /local/backup/path
或交互式:
sftp user@sftp-server
get -r /remote/path /local/backup
rsync 通过 SSH(推荐)SFTP 本质基于 SSH,因此最常用的是 rsync:
rsync -avz -e ssh user@sftp-server:/remote/path/ /local/backup/
优点:
lftp 自动备份lftp sftp://user:password@sftp-server -e "mirror /remote/path /local/backup; exit"
crontab -e
示例(每天凌晨 2 点):
0 2 * * * rsync -az -e ssh user@sftp-server:/data/ /backup/sftp/
如果你是指:备份 SFTP 服务配置,防止服务器重装后丢失。
cp /etc/ssh/sshd_config /backup/sshd_config.bak
cp /etc/passwd /backup/passwd.bak
cp /etc/shadow /backup/shadow.bak
cp /etc/group /backup/group.bak
cp -r /sftp /backup/sftp_root
cp -r /etc/ssh /backup/ssh_keys
✅ 文件备份:rsync + cron
✅ 配置备份:tar 打包 /etc/ssh + 用户信息
✅ 异地备份:备份到另一台服务器或云存储
示例整体备份脚本:
tar czf /backup/sftp-full-$(date +%F).tar.gz \
/etc/ssh \
/sftp \
/etc/passwd \
/etc/group
如果你能说明:
我可以给你更精确的方案。