Centos rsync同步配置

rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync。本教程用的是两台centos服务器,window环境没有测试,以后有空会再写一个windows的教程。

一、在两台服务器上安装rsync,本教程用xinetd启动rsync,所以要安装xinetd

yum -y install rsync  #安装rsync

yum -y install xinetd  #安装xinetd

安装好了后,先配置xinetd

vim /etc/xinetd.d/rsync

把里面的disable=yes改成disable=no

service rsync
{
        disable = no #将yes改成no
        flags   = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

然后启动 xinetd

/etc/init.d/xinetd start #或者service xinetd restart

注意:如果服务器上装有防火墙记得要打开端口,默认端口是873
二、在服务端编辑rsync的配置文件(文件如果不存在自己创建)

 vim /etc/rsyncd.conf 

修改成

uid = root #以什么身份运行rsync
gid = root
use chroot = no #不使用chroot
max connections = 200 #最大连接数
secrets file = /etc/rsyncd.secrets #密码文件位置,认证文件设置,设置用户名和密码
log file = /var/log/rsyncd.log #指定rsync的日志文件,而不将日志发送给syslog
pid file = /var/run/rsyncd.pid #指定rsync的pid文件
#motd file = /etc/rsyncd.motd #欢迎信息文件名称和存放位置(此文件没有,可以自行添加)
lock file = /var/run/rsync.lock #指定支持max connections参数的锁文件,默认值是/var/run/rsyncd.lock
 
[wwwroot] # 这里是认证的模块名,在client端需要指定
path = /home/wwwroot # 需要做镜像的目录
auth users = yiecho # 授权帐号。认证的用户名,如果没有这行,则表明是匿名,多个用户用,分隔
read only = yes # yes只读 值为NO意思为可读可写模式,数据恢复用NO
hosts allow = 192.168.1.98 #允许访问的服务器IP
hosts deny = * #黑名单
list = true # 允许列文件
ignore errors # 可以忽略一些无关的IO错误
#exclude = cache/111/ cache/222/ #忽略的目录

正式用到服务器上的时候,记得把注释删除,有中文注释有可能会报错哦。
接着编辑rsync的密码

vim /etc/rsyncd.secrets

用户名:密碼,前面的yiecho要与rsyncd.conf里的auth users一样

yiecho:yiecho123

给文件正确的权限

chown root:root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets #(必须是600)

三、client 端进行同步

编辑rsyncd.secrets文件

vim /etc/rsyncd.secrets #只要密码就可以了

输入在服务端里的密码就行了,保存后退出,这里不需要用户名,仅仅写密码就好了。
现在可以开始同步操作了

/usr/bin/rsync -avz --password-file=/etc/rsyncd.secrets yiecho@192.168.1.99::wwwroot /home/wwwroot

为了方便定时执行rsync,可以执行crontab服务

crontab -e
*/1 * * * * rsync -avz --password-file=/etc/rsyncd.secrets yiecho@192.168.1.99::wwwroot /home/wwwroot > /dev/null 2>&1

这样rsync就可以自动同步文件了。

在这过程中遇到的问题:

类似如下的提示:rsync: opendir "/kexue" (in wwwroot) failed: Permission denied (13)注意查看同步的目录权限是否为755 

类似如下的提示:rsync: opendir "." (in wwwroot) failed: Permission denied (13)注意查看selinux是否开启了,关闭就可以了

Centos rsync同步配置:等您坐沙发呢!

发表评论

表情
还能输入210个字