suse linux利用scp实现自动远程备份
在服务器本机上备份数据,一旦该机器硬盘出现故障,如果事先没有备份,数据的恢复将会耗时耗力,甚至严重时将彻底破坏而无法重现天日.远程手动备份数据费时费力且不及时,到机房现场备份再取回数据也比较麻烦.最好的方法就是通过脚本实现远程自动互备.但远程无论是通过ssh登陆,还是通过scp拷贝文件都需要输入密码.为了解决这个问题,需要实现不需要密码的SSH登陆设置两机的互信访问,这样再通过crontab就可以通过脚本定时通过scp命令来做远程备份了. 1. 设置无需密码的ssh登陆,方法如下: 假设250和252两台SUSE LINUX服务器,现在需要在250机上用root登陆252机,并且不需要输入密码,那我们可以按照下面的步骤来做: 1)在250机上生成钥匙对,执行以下命令: #ssh-keygen -t rsa Generating public/private rsa keypair. Enter filein which to save the key (/root/.ssh/id_rsa): 直接回车(也可自设路径) Your identification has been saved in /root/.ssh/id_rsa. Your public keyhas been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: f6:61:a8:27:35:cf:4c:6d:13:22:70:cf:4c:c8:a0:23 root@linux-250 2)把在250机生成的id_rsa.pub拷贝到252机上,假设拷贝到252机的临时目录下,例如: #scp /root/.ssh/id_rsa.pub root@192.168.1.250:/tmp #cd root/.ssh #cat /tmp/id_rsa.pub >>authorized_keys(也可以cp /tmp/id_rsa.pub authorized_keys) #chmod 400 authorized_keys(注:如果不成功,需要此句chmod 700 /root/.ssh ) #rm -f /tmp/id_rsa.pub 在250机上登录252机(ssh 192.168.1.252),发现不要密码可以直接进入了. 注: authorized_keys文件的权限很重要,如果设置为777,那么登录的时候,还是需要提供密码的.加密认证不支持高权限的不安全设置. 在252的机器上同理设置即可实现两台服务器之间的互信访问. 或者也可以同时加上RSA和DSA认证来实现. 注:如果三台主机间建立互信访问,可以先把其中的两台建立互信访问,然后把这两台上任一台的authorized_keys拷贝到第三台上,在第三台生成id_rsa.pub和id_dsa.pub并追加到authorized_keys里,把此文件再拷回那两台上覆盖原authorized_keys即可. 2. 编辑crontab文件 # vi /etc/crontab 例如设置每天12:50执行自动拷贝252上的某个指定目录下的文件: 50 12 * * * root scp 192.168.1.252:/root/sysstat*.rpm /home 在另外一台上进行同上设置: 例如设置每天13:05执行自动拷贝250上的某个指定目录下的文件: 如图: 3、至此实现了双机的互备. 注:#scp -p 7455 -r /home/lnmp0.4/ 192.168.1.252:/opt/tom/ -r 参数表示递归复制(即复制该目录下面的文件和目录) 本文出自 “滴水穿石” 博客,请务必保留此出处http://xjsunjie.blog.51cto.com/999372/605365 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |