一、配置ssh的自动登录
1. 生成RSA密钥
在client上运行:
#ssh-keygen -t rsa
简单的一路确定就可以了。
看下生成的密钥:
#cat ~/.ssh/id_rsa.pub
应该是这样的格式:ssh-rsa 一串字符 == USERNAME@DOMAIN
2. 将自己的密钥加入到 server 中
在 server 上:
#scp ~/.ssh/id_rsa.pub root@192.166.68.78:~/.ssh/authorized_keys 将 client 上刚才生成的 id_rsa.pub 文件内容加入到 server 的 ~/.ssh/authorized_keys 文件中即可。
3. 测试一下
如果不成功注意一下 ~/.ssh/config 文件内容中的配置吧, 以上只是默认配置下的设置。
#ssh root@192.166.68.78
二、rsync的配置
1. 安装rsync
Rpm -ivh rsync-2.6.8-3.1.x86_64.rpm
配置新增rsync 的shell 脚本
/etc/rsyncd/rsyncd.sh,并修改权限(chmod 777 /etc/rsyncd/rsyncd.sh)
#!/bin/bash
rsync -avvPbtu --exclude ".*" --blocking-io --exclude "*~bak" --suffix=~bak --backup-dir=/sumapay/ftp/bak/ -e ssh root@192.166.68.79:/sumapay/ftp/ /sumapay/ftp/ >> /root/tvpay.log
新建脚本中的目录
#mkdir /sumapay/ftp/bak/
-v选项指定详细的输出状态。Rsync默认情况下的输出是“silently”状态,即简单地执行而不妨碍用户的当前工作。第一次使用时,Rsync将会告诉你哪些文件已经被复制,并在结束时给出一个总结。当使用第二次,通过在命令之后加入-vv,rsync将会告诉你哪些文件被删除,并在最后总结中给出更多详细的信息。
rsync /home/baz bar:/home/backup/qux
这一操作以“clear”方式结束。然而这一方式具有比较低的安全等级;同样,这一方式也不能复制符号连接,也不能保护许可、用户所有权及建立时间等。由此,你最好增加-a选项(即“archive”)以及-e选项以指定一个远程程序来保证安全性。远程程序使用加密协议,比如SSH。由此远程选项将附有-e ssh。
如果在文件复制过程中遭到意外中断,rsync默认情况下将删除已经复制好的文件。可以使用-partial选项以防止rsync删除复制好的部分,这样在第二次复制时,你就可以只复制剩下的部分,以加快文件复制时间。如果你同时使用-partial和-progress,rsync将提供一个保证复制部分不被删除与显示复制的进度。由此,以“archive”方式、不删除已完成部分、显示进度、以及ssh方式操作,rsync命令格式如下:
rsync –avvP –e ssh localdir host:remotedir
--blocking-io 对远程shell使用阻塞IO
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
--exclude=PATTERN 指定排除不需要传输的文件模式
-t, --times 修改次数
配置或新增/etc/rsyncd/crond.txt文件
每隔1分钟执行一次/etc/rsyncd/rsyncd.sh脚本
*/1 * * * * /etc/rsyncd/rsyncd.sh
绑定定时调用
(service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它)
#crontab /etc/rsyncd/crond.txt
5. 查看是否自启动
#chkconfig --list
Rsync+ssh双机备份
最新推荐文章于 2024-12-22 17:00:32 发布