
Linux文件双向实时同步rsync + inotify
2016-11-14 / 龙之叶
服务器:192.168.24.31
客户端:192.168.22.167
一.配置rsync(服务端和客户端都需要进行相同的配置)
1.配置 /etc/rsyncd.conf (如果没有该文件,就新建文件),写入如下内容
1 | strict modes = yes |
2.配置密码文件
密码文件为配置文件中所写的文件/etc/rsyncd.secrets格式为账户:密码,写入如下内容
1 | user:123 |
3.修改配置文件和密码文件的权限
1 | [root@localhost ~]#chmod 600 /etc/rsyncd.conf |
4.启动守护进程
1 | [root@localhost ~]#rsync --daemon --config=/etc/rsyncd.conf |
5.检查rsync是否启动
1 | [root@localhost ~]#lsof -i :873 或 |
二.客户端配置
1.新建密码文件
在/home/longzhiye/softWare/rsync目录下新建一个密码文件
1 | [root@localhost ~]#vi /home/longzhiye/softWare/rsync/rsyncd.secrets |
写入如下内容
1 | user:123 |
2.修改密码文件的权限
1 | [root@localhost ~]chown root.root /home/longzhiye/softWare/rsync/rsyncd.secrets |
3.测试下载和上传功能
从服务器上下载文件
1 | [root@localhost ~]#rsync -avz --password-file=/home/longzhiye/softWare/rsync/rsyncd.secrets user@192.168.24.31::appbackup /home/longzhiye/softWare/rsync/test1/ |
上传文件到服务器
1 | [root@localhost ~]#rsync -avz --password-file=/home/longzhiye/softWare/rsync/rsyncd.secrets /home/longzhiye/softWare/rsync/test1/ user@192.168.24.31::appbackup |
至此就实现了手动同步的功能
三.inotify 安装,实现自动同步功能(只在服务端操作)
1.查看是否支持
1 | [root@localhost ~]#ll /proc/sys/fs/inotify |
执行结果:
1 | total 0 |
2.下载安装inotify
2.1下载源码包
下载地址:http://inotify-tools.sourceforge.net
笔者分享个百度云下载地址:http://pan.baidu.com/s/1qXYV7Fe
2.2上传到服务器的任意路径,解压安装包
切换到上传文件位置,解压安装包
1 | [root@localhost ~]# tar zxvf inotify-tools-3.14 |
进入该目录执行安装操作
1 | [root@localhost ~]#cd inotify-tools-3.14 |
1 | [root@localhost ~]#./configure --prefix=/usr/local/inotify |
提示:/usr/local/inotify为安装路径,可自行修改
1 | [root@localhost ~]#make |
编译
1 | [root@localhost ~]#make install |
安装
3.配置inotify
3.1.新建文件 rsync.sh 并赋予执行权限,文件名、位置随便,写入如下内容
1 | #!/bin/bash |
3.2.修改文件执行权限
1 | [root@localhost ~]#chmod +x ~/rsync.sh |
3.3.在家目录下新建一个rsyncpasswd.secrets文件,内容为刚才新建文件中用户对应的对应密码,写入如下内容
1 | 123 |
修改对应的权限
1 | [root@localhost ~]#chmod 600 ~/rsyncpasswd.secrets |
4.运行rsync.sh
1 | [root@localhost ~]#sh ~/rsync.sh |
5.测试
在/home/software/rsync/test1下新建、修改、删除文件,客户端查看是否可以自动同步所进行的操作
至此单向实时同步已经实现,再重复设置另一端就能实现双向实时同步
本文链接:
http://longzhiye.top/2016/11/14/2016-11-14-20161114/