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/
大功告成
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)