日期:2014-05-16  浏览次数:20613 次

linux redhat rsync inotify 配置
rsync工具简介
?
??? rysnc是一个数据镜像及备份工具,具有可使本地和远程两台主机的文件,目录之间,快速同步镜像,远程数据备份等功能。在同步过程中,rsync是根据自己独特的算法,只同步有变化的文件,甚至在一个文件里只同步有变化的部分,所以可以实现快速的同步数据的功能。
?
下面所讲的简单的rsync同步方法,依赖于SSH服务。一般rsync,ssh软件包都会默认安装的。检查方法:rpm -qa|grep -i rsync
?
注意:在实行备份方案前请用其他目录进行测试以防错误,切记!!
?
[root@mailsvr ~]# rsync -aSvH /home/* root@192.168.1.2:/home/
?
提示输入192.168.1.2机器的root用户密码,输入即可开始同步。
?
参数解释:
a 等同于 -rlptgoD 归档模式,就是保持文件所有属性、权限不变
S 有效的处理零散文件
v verbose模式
H 保持hard links
?
上面这个表示 将本机的/home目录下所有的文件,同步到192.168.1.2机器的/home目录下。。
上面红色标记是源文件位置 蓝色标记是目的位置
?
如果想每次同步之后,两边的文件保持一致,需要添加参数--delete,添加这个参数时,一定要注意测试,否则会造成严重后果,删除了数据。
?
[root@mailsvr ~]# rsync -aSvH --delete /home/* root@192.168.1.2:/home/

?
[root@mailsvr ~]# rsync -aSvH root@192.168.1.2:/home/* /home/
上面这条表示,将远程机器192.168.1.2机器上的/home目录下所有的文件,同步到本地的/home目录下,同步的时候注意源和目的,前面的是源文件位置,后面的目的文件位置
?
上面的命令,执行的时候,需要输入192.168.1.2机器的root用户密码,这样很烦,可以两台机器做个ssh信任,省去每次输入密码,在添加crontab自动执行。自动同步数据。
?

比如要从node A上的abc用户, ssh到host B 上的def用户
那就要在A上的abc用户下面
#ssh-keygen -t rsa

把生成的 id_rsa.pub??放到B上def下的authorized_keys里
最好是 >> 而不是cp,这样不会抹掉之前的记录
如:cat ?id_rsa.pub >>?authorized_keys

know_hosts 表示当前机器和其他多少机器建立了信任,能直接登录。


下面是2台主机建立ssh信任
A机器 192.168.1.1
B机器 192.168.1