温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Linux系统中的rsync实现文件同步

发布时间:2022-01-24 17:04:28 来源:亿速云 阅读:324 作者:iii 栏目:开发技术

这篇文章主要介绍了怎么用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实现文件同步”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI