服务端:192.168.1.2 同步目录:/home/source
客户端:192.168.1.3 同步目录:/home/receive
1、服务端配置
shell>vi /etc/rsyncd.conf #创建配置文件rsyncd.conf
配置文件内容:
gid=nobody //运行rsync守护进程的组,指定0为root的group
use chroot = no //不使用chroot
max connections = 10 //最大连接数,0为不限制
pid file = /var/run/rsyncde.pid //pid文件存放位置
lock file = /var/run/rsync.lock //锁文件存放位置
log file = /var/log/rsyncd.log //日志记录文件的存放位置
//通过该选项可以覆盖客户指定的IP超时时间
//通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端
//超时单位为秒钟,0表示没有超时定义,这也是默认值
//对于匿名rsync服务器来说,一个理想的数字是600.
Timeout = 300
Log format = %t %a %m %f %b
[backup] //这里是认证的模块名,在client端需要指定
path=/home/source/ //需要做镜像的目录
ignore errors //可以忽略一些无关的IO错误
read only = yes //该选项设定是否允许客户上传文件
list = no //不允许列文件
auth users = rsync //认证的用户名
secrets file = /etc/rsyncd.secrets //秘密文件(下面定义)
hosts allow = 192.168.1.3 //允许主机或网段
hosts deny = 0.0.0.0/0 //禁止主机
shell>vi etc/rsyncd.secrets #创建密码文件
内容:
shell>chmod 0600 /etc/rsyncd.secrets #更改密码文件权限(这里重要)
shell>rsync --daemon; #启动服务,默认在873端口监听(可以自己修改)
2、客户端
客户端就不用启动rsync服务了
shell>vi /etc/rsyncd.secrets #这里也是创建密码文件,文件名字自定义,但内容只需要填目标服务授权密码
shell>chmod 0600 /etc/rsyncd.secrets #更改文件权限
内容:
测试:(在服务端/home/source/ 先创建test文件 )
需要ntpupdate两台服务器时间一致
shell>rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets rsync@192.168.1.2::backup /home/receive
v:传输时的进度等信息, z:表示压缩, r:是递归, t:保持文件原有时间, o:保持文件原有属主, P:传输进度, g:保持文件原有用户组
--progress 指显示
--delete 指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
--password-file=/etc/rsyncd.secrets 认证密码
rsync 认证用户
backup 认证模块
如果客户端/home/receive/下产生了test文件代表同步成功
下一步写一个脚本文件实现真正的同步......
启动脚本:rsync.sh
shell>vi /home/rsync.sh
#!/bin/sh rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets rsync@192.168.1.2::backup /home/receive |
关闭脚本:killrsync.sh
shell>vi /home/killrsync.sh
RSYNC_PID=`ps auxww|grep rsync |grep -v grep|awk '{print $2}'`
kill -9 $RSYNC_PID
设置定时任务 (crontab?google can help you!)
shell>crontab -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
0 3 * * * /home/rsync.sh //每天晚上3点执行一次同步
0 6 * * * /home/killrsync.sh //每天早上6点强制终止同步(如果还没完成)
shell>crontab -l #可以查看任务设置情况
shell>service crond status #查看crond是否已启动,若启动了能看到PID
shell>service crond start #启动crond服务
相关推荐
rsync同步的艺术,学习rsync的很好的例子
linux 下rsync文件夹同步配置,可以定时。
亲测,有疑问可以加我,共同讨论学习!
ubuntu rsync中文乱码 window ubuntu rsync同步中文乱码.docx
在Windows上使用rsync同步文件。
FreeBSD Rsync同步学习与配置全过程.doc
在互联网中,Windows环境中使用Rsync远程同步数据;使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他rsync主机同步。
Rsync实现文件备份同步,定时备份,同步数据,如果源地址文件删除,目标地址也会删除,我们公司就用rsync同步图片资源,很实用。
rsync远程同步
Rsync+ssh双机同步测试及问题解决
rsync同步指定目录 rsync使用–include参数与–exclude参数来实现同步指定目录,并且–exclude目录放在后面。 例如: linux上文件目录 代码如下: ls /usr/local/apache/htdocs/site aa bb cc dd ee .. zz 只想同步...
图解rsync数据同步部署文档.docx
rsync数据同步手册.pdf
公司生产机器之间的同步用rsync,不多说大家都懂,已实践,
rsync+inotify 实时远程同步详细部署
rsync+inotify实现实时同步 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同 步数据时,需要扫描所有文件后进行比对,进行差...
本篇文章详细介绍了linux下使用rsync同步目录,使用rsync同步后可以保持目录的一致性,有需要的可以了解一下。
rsync安装部署-实现两台计算机节点的实时产生的数据文件同步。包含:安装部署手册和软件安装包!
linux下Rsync+sersync实现文件数据实时同步