Rsync 服务
同步命令参数:
-v 详细模式输出,传输时的进度信息
-z 传输时进行压缩以提高传输效率
-a 递归模式保持所有文件属性。等同于-rtopPDl
-e 使用信道协议
服务端部署:
1关闭防火墙和selinux
2检查rsync 安装没有
[[email protected] /]# rpm -qa |grep rsync
rsync-3.0.6-12.el6.x86_64
3创建配置文件(默认没有)
Touch /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 0
pid file = /var/log/rsync/rsyncd.pid
lock file = /var/log/rsync/rsync.lock
log file = /var/log/rsync/rsyncd.log
strict modes =yes
[www]
path = /www/
ignore errors
read only = false
list = false
hosts allow = all
hosts deny = 172.25.0.0/24
auth users = backup
secrets file = /etc/rsyncd.passwd
4创建用户认证文件(虚拟用户名和密码)
Echo “back:123” >/etc/rsyncd.passwd
5给予600权限
Chmod 600 /etc/rsyncd.passwd
6启动服务
Rsync –daemon
7查看端口
[[email protected] /]# netstat -anpt |grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 1302/rsync
tcp 0 0 :::873 :::* LISTEN 1302/rsync
8建立共享的目录
mkdir /www
客服端配置
1 创建密码文件
Echo “123” >/etc/rsyncd.passwd
2 给予600 权限
Chmod 600 /etc/rsyncd.passwd
测试 :
3从服务端同步到客户端:
[[email protected] etc]# rsync -avz [email protected]::www /tmp/ 注:加 –password-file=/etc/rsyncd.passwd 可不用输密码
Password:
receiving incremental file list
./
aa
bb
cc.txt
sent 115 bytes received 234 bytes 139.60 bytes/sec
total size is 0 speedup is 0.00
或者这样:
rsync -avz rsync://[email protected]/www /tmp –password-file=/etc/rsyncd.passwd
从客户端同步到服务端
如果只同步目录里面内容/tmp/ 要加斜线,如果是目录不用加斜线/tmp 即可。
[[email protected] tmp]# rsync -avz /tmp/ [email protected]::www –password-file=/etc/rsyncd.passwd
sending incremental file list
yum.log
zabbix_agentd.log
zabbix_agentd.pid
.ICE-unix/
sent 1285 bytes received 69 bytes 902.67 bytes/sec
total size is 5604 speedup is 4.14
或者:
[[email protected] tmp]# rsync -avz /tmp/ rsync://[email protected]/www –password-file=/etc/rsyncd.passwd
使用ssh协议进行推送:
[[email protected] tmp]# rsync -avz -e ‘ssh -p 22’ /etc/hosts [email protected]:~
The authenticity of host ‘192.168.199.235 (192.168.199.235)’ can’t be established.
RSA key fingerprint is 0b:49:b6:27:2b:98:e4:b1:ed:42:77:7b:07:9a:42:0b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.199.235’ (RSA) to the list of known hosts.
[email protected]’s password:
sending incremental file list
hosts
sent 124 bytes received 31 bytes 20.67 bytes/sec
total size is 158 speedup is 1.02
关闭rsync 服务
[[email protected] ~]# ps -ef |grep rsync
root 1373 1 0 14:05 ? 00:00:00 rsync –daemon
root 1610 1330 0 15:01 pts/0 00:00:00 grep rsync
[[email protected] ~]# pkill rsync
[[email protected] ~]# ps -ef |grep rsync
root 1613 1330 0 15:01 pts/0 00:00:00 grep rsync
启动rsync服务
[[email protected] ~]# rsync –daemon
[[email protected] ~]# ps -ef |grep rsync
root 1615 1 0 15:02 ? 00:00:00 rsync –daemon
root 1617 1330 0 15:02 pts/0 00:00:00 grep rsync
–exclude 参数 排除文件
从客户端往服务端同步,排除客户端的文件
rsync -avz –exclude=aa /tmp/ [email protected]::www –password-file=/etc/rsyncd.passwd
排除多个文件
rsync -avz –exclude={aa,bb} /tmp/[email protected]::www –password-file=/etc/rsyncd.passwd
或者
rsync -avz –exclude=aa –exclude=bb /tmp/ [email protected]::www –password-file=/etc/rsyncd.passwd
排除多个不规律的文件
参数:–exclude-from=文件名
使用方法:把文件名写到一个文件中
[[email protected] tmp]# ll
总用量 4
-rw-r–r– 1 root root 0 7月 11 2016 aa
-rw-r–r– 1 root root 0 7月 11 2016 bb
-rw-r–r– 1 root root 0 7月 11 2016 cc
-rw-r–r– 1 root root 0 7月 11 2016 jin
-rw-r–r– 1 root root 13 7月 8 16:11 li.log
-rw-r–r– 1 root root 0 7月 8 16:09 xx
[[email protected] tmp]# cat li.log 注意:文件中每行后面不能有空格
aa
bb
jin
cc
[[email protected] tmp]# rsync -avz –exclude-from=li.log /tmp/ [email protected]::www –password-file=/etc/rsyncd.passwd
sending incremental file list
./
li.log
xx
sent 174 bytes received 50 bytes 149.33 bytes/sec
total size is 13 speedup is 0.06
服务端排除 参数:
再配置文件中加参数,重启服务。
Exclude=aa bb 空格隔开
如果是目录中文件格式如下:
Exclude=aa bb test/test.txt