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

0 linux backup ssh rsync

我有一台保存我所有备份的服务器,我想将它们备份到另一台服务器。我只是想知道这样做的最佳方法。

设置 rsync 还是使用 scp?我还想确保一切安全,并尽可能使用 ssh。

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

Dan*_* t. 5

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

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

    ssh-keygen -t rsa -b 2048
    
    Run Code Online (Sandbox Code Playgroud)

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

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

     cat id_rsa.pub >> /root/.ssh/authorized_keys
    
    Run Code Online (Sandbox Code Playgroud)
  3. 远程服务器 - 测试公钥 ssh 连接

     ssh -i /root/.ssh/id_rsa root@backupserver-hostname
    
    Run Code Online (Sandbox Code Playgroud)

    将以下命令添加到您的 crontab

    rsync -avz -e "ssh -i /root/.ssh/id_rsa" root@backupserver:/backupdir /thisdir
    
    Run Code Online (Sandbox Code Playgroud)

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