Ubuntu下使用rsync远程备份数据

Ubuntu下使用rsync远程备份数据,第1张

我有3台ubuntu服务器,work_svr1、work_svr2为在公网运行的工作用服务器,1上运行着工作用的webapp,2作为备份服务器备。另外还有一台个人租用的异地服务器做博客服务器用。我希望工作用1号服务器上数据和个人博客服务器数据可以每天定时备份到2号服务器上。

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我使用了其中3个选项,详细的选项使用说明可以使用man命令查看。

ssh免密码自动登录,这样在自动定时远程备份时,就可以不需输入ssh登录密码。

首先在客户端服务器 A 为用户 a 生成公钥(passphrase不需要输入):

接下来以用户 b 的身份ssh登录 B 创建 ~/.ssh 目录(有可能这个目录已经存在了):

最后把客户端 A 的公钥附加到 B 端 authorized_keys 文件中:

现在不需输入密码就可以登录 B 了:

最后设置一下 crontab -e 定时任务,ok。

此文部分参考了这篇 rsync 和这篇 ssh 的内容。

最近出了件大事,一大早被领导三番催促,原来是部署在我们机房机器上的禅道莫名挂了,所有用户均无法正常登陆,怀疑是机房机器变动导致部分数据丢失,好在禅道每天有备份,尝试使用备份数据重新覆盖安装,也是失败,最后检查是服务器磁盘满了。。。但也提醒了我这些数据的重要性(数据包已经有6G了,所有开发任务和缺陷、用例全在上面),于是着手把数据远程备份一次。

我使用的机器是Centos7,不同机器命令不太一样,如果使用的是Centos6及以下版本,sytemctl需要换成service

上方是给出的注释,从左往右依次是分、时、日、月、周,我设置的是每天凌晨2点半执行打包脚本,3点半把压缩包传至另一个服务器,4点则删除该压缩包,脚本比较简单

使用RSA非对称加密算法,将禅道服务器的公钥放到备份服务器的authorized_keys中

公钥/root/.ssh/id_rsa.pub

秘钥/root/.ssh/id_rsa

可以通过lszrz工具将公钥上传至B服务器中。

尝试一下:

scp test.txt root@47.94.36.78:/root/

大功告成


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/781421.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-23
下一篇2023-08-23

发表评论

登录后才能评论

评论列表(0条)

    保存