我有一台服务器保存着我的所有备份,我想将它们备份到另一台服务器上。我只是想知道最好的方法是什么。
我该设置 rsync 还是使用 scp?我还想保证一切安全,如果可能的话,使用 ssh。
我将文件保存在 /home/servername/daily 下
答案1
出于安全原因,我建议使用 rsync+ssh。您可以使用pull
或push
备份。例如,如果您决定使用基于拉取的备份,请首先在远程服务器上生成 ssh 密钥。然后,您将从原始备份服务器将文件拉取到远程服务器。
远程(“另一个”)服务器:生成私钥/公钥
ssh-keygen -t rsa -b 2048
将生成的公钥(例如
/root/.ssh/id_rsa.pub
)带到备份服务器。备份服务器-将远程服务器的公钥添加到备份服务器的authorized_keys中。
cat id_rsa.pub >> /root/.ssh/authorized_keys
远程服务器-测试公钥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
文件中