rsync数据同步工具应用指南

Rsync (Remote synchonization) 
rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输。rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次发送。rsync可拷贝/显示目录内容,以及拷贝文件,并可选择性的压缩以及递归拷贝。
在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程shell如RSH或者SSH伺服文件。SSH情况下,rsync客户端运行程序必须同时在本地和远程机器上安装。
 
rsync可以是一种网络服务,也可以是客户端命令。
rsync命令可以在本地做同步和删除。
1 rsync -avz /src/ /dest/ #cp
2 rsync -avz --delete /src/ /dest/     #将/dest/和/src/同步,以靠近参数的为基准 
rsync命令通过ssh通道从远端主机拉取数据到本地
1 rsync -avzP -e 'ssh -p 22' /tmp/ root@192.168.1.253:/tmp/  #本地到远端
2 rsync -avzP -e 'ssh -p 22' root@192.168.1.253:/mnt/ . #远端到本地,注意/mnt/的斜杠,有斜杠是目录下的内容,无斜杠是目录本身。
-e 'ssh -p 22'表示通过ssh通道传输数据,-p 22 可以省略
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
-z, --compress 对备份的文件在传输时进行压缩处理。
-v, --verbose 详细模式输出。
-P 显示同步的过程,可以用--progress替换
 
配置rsync服务端:
0、yum install rsync
1、创建/etc/rsyncd.conf配置文件
 
#rsync server
uid=rsync
gid=rsync
pid file =/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
log file=/var/log/rsyncd.log
ignore errors
read only=false
list=false
auth users=flyme #虚拟账号,不用在本地存在
secrets file=/etc/rsync.passwd  #flyme存在在里面
[backup]
path=/root/backup #备份模块
comment=backup
 
2、创建rsync用户,及共享的目录/backup
1 useradd rsync -s /sbin/nologin -M
2 id rsync
3 mkdir /backup
4 chown -R rsync /backup

 

3、创建密码文件
1 echo "flyme:123456">/etc/rsync.passwd
2 chmod 600 /etc/rsync.passwd

 

4、开启rsync服务
  
1 rsync --daemon
2 ss -ta|grep rsync
3 echo "rsync --daemon">>/etc/rc.local #开机自启

 

配置客户端:
0、安装yum install rsync
1、创建密码文件
echo "123456">/etc/rsync.passwd
chmod 600 /etc/rsync.passwd
2、rsync
push:
rsync -avz /tmp/ flyme@192.168.1.x::backup --password-file=/etc/rsync.passwd   #backup是服务端/etc/rsyncd.conf [xxx]

 

posted @ 2017-05-22 10:41  脑洞  阅读(150)  评论(0编辑  收藏  举报