通过 ssh 服务器进行 rsync 到服务器备份

通过 ssh 服务器进行 rsync 到服务器备份

我有一台服务器保存着我的所有备份,我想将它们备份到另一台服务器上。我只是想知道最好的方法是什么。

我该设置 rsync 还是使用 scp?我还想保证一切安全,如果可能的话,使用 ssh。

我将文件保存在 /home/servername/daily 下

答案1

出于安全原因,我建议使用 rsync+ssh。您可以使用pullpush备份。例如,如果您决定使用基于拉取的备份,请首先在远程服务器上生成 ssh 密钥。然后,您将从原始备份服务器将文件拉取到远程服务器。

  1. 远程(“另一个”)服务器:生成私钥/公钥

    ssh-keygen -t rsa -b 2048
    

    将生成的公钥(例如/root/.ssh/id_rsa.pub)带到备份服务器。

  2. 备份服务器-将远程服务器的公钥添加到备份服务器的authorized_keys中。

     cat id_rsa.pub >> /root/.ssh/authorized_keys
    
  3. 远程服务器-测试公钥ssh连接

     ssh -i /root/.ssh/id_rsa root@backupserver-hostname
    

    将以下命令添加到您的 crontab

    rsync -avz -e "ssh -i /root/.ssh/id_rsa" root@backupserver:/backupdir /thisdir
    

您可以根据您的设置更改用户名、主机名、私钥/公钥文件名、目录等。

答案2

crontab:

0 0 * * * rsync -av /home/servername/daily otherserver:/home/servername/dailyreplica

午夜 crontab 在两台服务器之间进行 rsync。

需要 root(或 crontab 运行者)的 ssh 密钥放入远程主机的/home/$user/.ssh/authorized_keys文件中

相关内容