安装rsync
代码如下 | 复制代码 |
wget http://rsync.samba.org/ftp/rsync/rsync-3.1.0.tar.gz 解压后进入目录 ./configure –prefix=/usr/local/rsync make make install vi /etc/xinetd.d/rsync |
把原来的YES改成NO
代码如下 | 复制代码 |
service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = –daemon log_on_failure += USERID } |
随系统启动RSYNC
代码如下 | 复制代码 |
#chkconfig rsync on vi /etc/rsyncd.conf #rsync configuration file [root@localhost web]# chown root.root /etc/rsyncd.secrets |
rsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:
Welcome to use the rsync services!
启动:
代码如下 | 复制代码 |
# /usr/bin/rsync –daemon 或 # /usr/local/rsync/bin/rsync –daemon |
查看启动:
代码如下 | 复制代码 |
ps aux | grep rsync |
客户端连接使用:
代码如下 | 复制代码 |
/usr/bin/rsync -vzrtp –progress –port=874 –delete –password- file=/etc/rsyncd.client test@你的IP::home/web/shanmao.me/home/web/ /usr/local/rsync/bin/rsync -vzrtp –progress –password-file=/etc/rsyncd/xx.sec.client test@你的ip::home/web/mxxa_com /home/web/ |
全部搞定, 然后就可以用 rsync 同步了!!!
例子
代码如下 | 复制代码 |
rsync -avz --password-file=/var/rsync/rsync.pass /home/html/web rsync_user_12@ 192.168.0.120::web |
我们这里配置了密码,如果你人设置密码可以
创建密码配置文件: vi /var/rsync/rsync.pass.conf
写入用户名和密码:
代码如下 | 复制代码 |
/var/rsync/rsync.pass.conf rsync_user_12:@23YsfFa |
3. 开启一个 rsync 的服务进程 /usr/local/rsync/bin/rsync --daemon
4. 客户端同样安装 rsync , 配置密码文件: /var/rsync/rsync.pass
[遇到的问题]
1.密码错误
@ERROR: auth failed on module tee
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
搞了半天, 密码一直错误, 不得已请教了高人才晓得 rsync密码 配置文件的权限必须设置为 600 才可以, 改完, 搞定!
2. 同步过来的文件, owner 都变成了 mysql
rsync 会将原来源主机文件的 uid 和 gid 带到目标主机, 源主机的目录owner 是 www, uid: 502 gid: 502, 目标主机 uid: 502 gid:502的是mysql , 于是果断将目标主机 /etc/passwd, /etc/group www用户和mysql 用户的uid gid换了一下, 然后重启服务器, 搞定!!