温馨提示×

如何备份linux sftp

小樊
48
2026-10-22 13:56:42
栏目: 智能运维

在 Linux 上“备份 SFTP”通常有两种理解,下面分别说明,你可以按需要选择。


一、备份通过 SFTP 传输/存放的文件(最常见)

如果你是指:把 SFTP 服务器上的文件备份下来,可以用以下几种方式。

1. 使用 sftp 命令手动下载备份

sftp user@sftp-server:/remote/path /local/backup/path

或交互式:

sftp user@sftp-server
get -r /remote/path /local/backup

2. 使用 rsync 通过 SSH(推荐)

SFTP 本质基于 SSH,因此最常用的是 rsync:

rsync -avz -e ssh user@sftp-server:/remote/path/ /local/backup/

优点:

  • 增量备份
  • 速度快
  • 可定时执行

3. 使用 lftp 自动备份

lftp sftp://user:password@sftp-server -e "mirror /remote/path /local/backup; exit"

4. 定时自动备份(cron)

crontab -e

示例(每天凌晨 2 点):

0 2 * * * rsync -az -e ssh user@sftp-server:/data/ /backup/sftp/

二、备份 SFTP 服务本身(服务器配置 & 用户)

如果你是指:备份 SFTP 服务配置,防止服务器重装后丢失。

1. 备份 SSH / SFTP 配置

cp /etc/ssh/sshd_config /backup/sshd_config.bak

2. 备份 SFTP 用户和权限

  • 系统用户:
cp /etc/passwd /backup/passwd.bak
cp /etc/shadow /backup/shadow.bak
cp /etc/group /backup/group.bak
  • 如果使用 Chroot:
cp -r /sftp /backup/sftp_root

3. 备份密钥

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

如果你能说明:

  • 是 客户端备份 还是 服务器备份
  • 使用的 Linux 发行版
  • 是否使用 chroot / 虚拟用户

我可以给你更精确的方案。

0 踩