1.本地文件同步
[root@y ~]# mkdir susu
[root@y ~]# mkdir susu/k{1..3}
[root@y ~]# touch susu/k1/hh{0..3}
[root@y ~]# tree susu/
[root@y ~]# rsync -av susu/ /opt/ //将susu目录下的文件同步到opt下
[root@y ~]# rsync -av susu /opt/ //将susu该目录连同目录下的文件都同步到opt下
[root@y ~]# tree /opt/
[root@y ~]# rsync -av susu/k1/ susu/k2 //将susu/k1/下的同步到susu/k2/下
文件的删除(--delete)也会同步
[root@y ~]# rm -rf susu/k1/hh0
[root@y ~]# rsync -av --delete susu/k1/ susu/k2
文件的属性也会同步
[root@y ~]# chmod g+w susu/k1/hh1
[root@y ~]# rsync -av --delete susu/k1/ susu/k2
文件的修改也会同步
[root@y ~]# vim susu/k1/hh1
[root@y ~]# rsync -av --delete susu/k1/ susu/k2
- 远程同步
[root@y ~]# rsync -av susu/ root@192.168.2.12:/tmp/
在x主机里面创建一个100M的文件
[root@x ~]# dd if=/dev/zero of=/tmp/suiban bs=100M count=1
在远程主机上拉取文件
[root@y ~]# rsync -av root@192.168.2.12:/tmp/suiban /tmp/
- rsync作为系统服务
[root@y ~]# systemctl stop firewalld
[root@y ~]# setenforce 0
[root@y ~]# systemctl start rsyncd //启动服务
[root@y ~]# mkdir -p /jcc/xiaoyuanweb/cj/yw/oo.xiaoyuanweb/
[root@y ~]# touch /jcc/xiaoyuanweb/cj/yw/oo.xiaoyuanweb/file{0..5}.yw
[root@y ~]# cd /jcc/xiaoyuanweb/
[root@y xiaoyuanweb]# vim /etc/rsyncd.conf
[root@y xiaoyuanweb]# systemctl restart rsyncd
以上操作在y主机提供了一个针对/jcc/下的项目rsync服务
[root@x ~]# rsync -a root@192.168.2.11:: //设置是否能够检测到项目jcc
app
jcc
在x主机里面把rsync项目拉取过去(不需要启动rsync服务)
[root@x ~]# rsync -av root@192.168.2.11::jcc /tmp/
4.自动化的推送拉取文件
[root@y ~]# crontab -e
然后在x主机/tmp/下查看
- 为rsyncd服务添加密码
编辑vim /etc/rsync.conf
添加两个属性
[root@y ~]# vim /etc/rsyncd.conf
创建编辑密码 账号:密码
[root@y ~]# vim /etc/rsync.secrets
必须给/etc/rsync.secrets添加权限
[root@y ~]# chmod 600 /etc/rsync.secrets //更改密码文件权限为600
重启rsyncd服务
Systemctl restart rsyncd
在x主机上拉取文件
[root@x ~]# rsync -av xiaojia@192.168.2.11::jcc /tmp/
- 实现代码实时同步
安装inotify-tools(监听工具)
[root@y ~]# yum -y install inotify-tools
编写inotify.sh脚本
[root@y ~]# vim inotify.sh
[root@y ~]# ./inotify.sh //执行脚本 文件没有改变不动,会卡那
再开一个终端创建文件
[root@y ~]# touch /jcc/xiaoyuanweb/tt.txt
监听就会动