分类: Linux
CentOS上部署rsync同步文件

rsync特点:
快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据过程中可以实行压缩及解压缩操作,以使用更少的带宽。   
安全:可以使用rcp、ssh等方式来传输文件,也可以用直接的socket连接。
安装rsync:

yum install rsync -y

安装xinetd启停rsync

yum install xinetd -y

安装完后要修改以下配置文件:

vi /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable = no
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon --config=/etc/rsyncd.conf
        log_on_failure  += USERID
}
默认disable = yes,这里需要把yes改成no,保存退出。

配置rsync的主配置文件及密码文件:

cat /etc/rsyncd.conf 
pid file = /var/run/rsync.pid
port = 873
log file = /var/log/rsyncd.log
lock file = /var/run/rsync.lock 
 
[resources]
path = /data/rsync_file/
secrets file = /etc/rsyncd.pass
设置运行链接的IP地址
hosts allow = 10.10.100.2
hosts deny = *
list = true
uid = 0
gid = 0
rsync连接时的用户名,要和客户端rsync的命令一致
auth users = imguser
该目录是否只读
read only = no
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.  
timeout = 600

创建密码文件

touch /etc/rsyncd.pass

权限修改、密码文件

chown root:root /etc/rsyncd.pass
chmod 600 /etc/rsyncd.pass
cat /etc/rsyncd.pass
imguser:ysxxx            #账号:密码(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)

在每个模块(如以上的[resources])后指定path路径时,路径后不能留空格;
将rsync添加为系统服务并在系统3和5级别下启动:

# chkconfig --add rsync
# chkconfig --level 35 rsync on
# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

查看是否启动:

netstat -tpln | grep 873
tcp        0      0 :::873                      :::*                        LISTEN      23737/xinetd  

到此,服务器端的配置已完成。

客户端安装

yum install rsync -y

创建一个密码文件:

cat /etc/rsyncd.pass
ysxxx
chmod 600 /etc/rsyncd.pass   #设置权限

同步/data/test下面所有文件到resources

rsync -avzrP /data/test/* --password-file=/etc/rsyncd.pass imguser@10.1.151.241::resources
rsync -avz 同步目录|文件 用户名@IP::模块名

-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;
另外:
定制欢迎信息文件rsyncd.motd
如:

[root@211 rsync]# cat rsyncd.motd
+++++++++++++++++++++++++++
+       wellcome rsyncd    +
+++++++++++++++++++++++++++

注意:rsync密码服务端格式为usrname:pwd 但客户端格式为pwd


相关博文:

发表新评论