这篇文章主要介绍了怎么用Linux系统中的rsync实现文件同步的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Linux系统中的rsync实现文件同步文章都会有所收获,下面我们一起来看看吧。
在Linux系统中rsync是一个数据镜像备份工具,Sync可以远程同步,支持本地复制等功能。
(1)软件安装 yum install rsync xinetd
(2)为 rsyncd 服务编辑配置文件,默认没有,需自己编辑 vim /etc/rsyncd.conf 写入以下内容: uid = root gid = root use chroot = no max connections = 5 timeout = 600 pid file = /var/run/rsyncd.pid lockfile = /var/run/rsyncd.lock log file = /var/log/rsyncd.log [web1] path = /usr/local/nginx/html/hello/ ignore errors = yes read only = no write only = no hosts allow = 192.168.1.169 hosts deny = * list = yes auth users = web secrets file = /etc/web.passwd
(3)创建文件同步的目录,上面配置里的path,如果有就不用创建了 mkdir /usr/local/nginx/html/hello/ (4)创建配置中的密码文件,并增加权限: echo “web:123” > /etc/web.passwd chmod 600 /etc/web.passwd (
5)重新启动 service xinetd restart
客户端配置(即169服务器的配置):
(1)安装软件 yum -y install rsync
(2)创建web目录 mkdir /usr/local/nginx/html/hello/
(3)设置密码并设置权限 echo “123”> /tmp/rsync.password chmod 600 /tmp/rsync.password
(4)关闭防火墙:service iptables stop。
在客户端测试(即169服务器): rsync -avzP –delete –password-file=/tmp/rsync.password /usr/local/nginx/html/hello/ web@192.168.1.167::web1
如果看到文件同步过去表示成功。
数据实时同步: 环境:Rsync + Inotify-tools。
下载安装
wget https://jaist.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz tar -zxvf inotify-tools-3.13.tar.gz mkdir /usr/local/inotify cd inotify-tools-3.13 ./configure –prefix=/usr/local/inotify/ make && make install
设置环境变量
vim /etc/profile 在末尾增加一行: export PATH=$PATH:/usr/local/inotify/bin 使配置生效: source /etc/profile
echo ‘/usr/local/inotify/lib’ >> /etc/ld.so.conf –加载库文件 ldconfig ln -s /usr/local/inotify/include /usr/include/inotify
测试脚本:
创建shell文件: vim /test.sh 输入以下内容:
#!/bin/bash src=/usr/local/nginx/html/hello/ user=web host1=192.168.1.167 dst1=web1 passpath=/tmp/rsync.password /usr/local/inotify/bin/inotifywait \ -mrq --timefmt '%d/%m/%y' \ --format '%T %w%f%e' \ -e modify,delete,create,attrib \ /usr/local/nginx/html/hello/ | while read files do rsync -vzrtopg --delete --progress --passfile=$passfile-path $src $user@$host1::$dst1 echo "${files} was rsyncd" >>/tmp/rsync.log 2>&1 done
设置自动运行:
chmod 755 /data/test/test.sh /data/test/test.sh & echo ‘/data/test/test.sh &’ >> /etc/rc.local –设置开机自启
rsync拥有可以保存整个整个目录树和文件系统、快速、安全、支持匿名传输等特性被许多人采用
关于“怎么用Linux系统中的rsync实现文件同步”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“怎么用Linux系统中的rsync实现文件同步”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。