centos

CentOS SFTP服务器如何备份与恢复

小樊
45
2025-10-13 05:04:01
栏目: 云计算

CentOS SFTP服务器备份与恢复指南

一、备份操作

1. 确定备份内容

SFTP服务器的备份需覆盖核心数据配置信息,具体包括:

2. 备份工具选择

推荐使用rsync(高效同步,支持增量备份)或tar(归档压缩,便于存储):

3. 具体备份步骤

(1)使用rsync备份用户数据与配置
# 创建备份目录(如/backup/sftp)
sudo mkdir -p /backup/sftp

# 备份用户目录(如sftpuser的家目录)
sudo rsync -av --delete /home/sftpuser /backup/sftp/

# 备份SSH配置文件
sudo rsync -av /etc/ssh/sshd_config /backup/sftp/
sudo rsync -av /etc/ssh/ssh_host_* /backup/sftp/
(2)使用tar打包备份
# 备份用户目录
sudo tar czvf /backup/sftp/home_backup_$(date +%F).tar.gz /home/sftpuser

# 备份SSH配置文件
sudo tar czvf /backup/sftp/sshd_config_backup_$(date +%F).tar.gz /etc/ssh/sshd_config
sudo tar czvf /backup/sftp/ssh_keys_backup_$(date +%F).tar.gz /etc/ssh/ssh_host_*

4. 自动化备份(可选但推荐)

通过cron定时任务定期执行备份脚本,例如每天凌晨2点备份:

# 编辑当前用户的crontab
sudo crontab -e

# 添加以下内容(根据实际路径修改)
0 2 * * * /bin/bash /path/to/backup_script.sh
#!/bin/bash
# 创建备份目录
mkdir -p /backup/sftp

# 使用rsync备份用户数据
rsync -av --delete /home/sftpuser /backup/sftp/

# 使用tar备份配置文件
tar czvf /backup/sftp/sshd_config_backup_$(date +%F).tar.gz /etc/ssh/sshd_config
tar czvf /backup/sftp/ssh_keys_backup_$(date +%F).tar.gz /etc/ssh/ssh_host_*

# 记录日志
echo "SFTP备份完成于 $(date)" >> /backup/sftp/backup.log
chmod +x /path/to/backup_script.sh

二、恢复操作

1. 恢复前准备

2. 具体恢复步骤

(1)停止SSH服务
sudo systemctl stop sshd
(2)恢复用户数据
# 使用rsync恢复(保留目标目录现有文件)
sudo rsync -av /backup/sftp/sftpuser/ /home/sftpuser/

# 或使用tar解压(覆盖目标目录)
sudo tar xzvf /backup/sftp/home_backup_$(date +%F).tar.gz -C /
(3)恢复配置文件
# 恢复SSH主配置文件
sudo tar xzvf /backup/sftp/sshd_config_backup_$(date +%F).tar.gz -C /

# 恢复SSH主机密钥
sudo tar xzvf /backup/sftp/ssh_keys_backup_$(date +%F).tar.gz -C /
(4)重启SSH服务
sudo systemctl start sshd

3. 验证恢复结果

三、注意事项

0
看了该问题的人还看了