一,什么是rsync
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
优化的流程,文件传输效率高。
可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
二,我用rsync干什么
我画图很烂,不好意思。上面这个图,应当意思表达很明确了。简单说一下
就是,web server1上面装的有rsync配置成服务器端,其他二个web服务器上面rsync配置成客户端,当你上传文件到服务器端以后,rsync客户端定时执行的脚本去,去从服务器端同步数据过去。这样就不用一个一个去传了,一个一个传很可能传错,因为我们是人,不是机器。哈哈
三,rsync安装
下载地址 http://rsync.samba.org/ftp/rsync/
1),自带安装命令安装,就不用下载了
Ubuntu安装: apt-get install rsync
centos安装:yum install rsync
archlinux安装:pacman -S rsync
2),不用自带安装命令安装
./configure –prefix=/usr/local/rsync
make && make install
三,rsync服务器端配置
1),我知道的简单注释一下
pid file = /var/run/rsyncd.pid #进程存放位置.pid后缀
use chroot = no #不允许使用chroot
#read only = yes #是不是只允许只读
#hosts allow=192.168.1.72/255.255.255.0 192.168.1.5/255.255.255.0 #允许的IP
max connections = 5 #最大允许的连接数
motd file = /etc/rsyncd.motd #同步时,提示输入密码前显示的内容
log file = /var/log/rsyncd.log #rsync同步的log文件
log format = %t %a %m %f %b #设置log文件里面的每一行前面的日期形势
syslog facility = local3
timeout = 300 #超时时间设置
[test]
path = /var/www/zhangying/test #要被同步的目录
list=false #不显示列表
read only = true #只读
ignore errors #忽视错误
auth users = zhangying #同步用户
secrets file = /etc/rsyncd.secrets #密码文件
comment = pics test #注释
uid = root #所属用户
gid = root #所属组
2),创建密码文件
nano /etc/rsyncd.secrets
zhangying:**********
保存一下就可以了
3),启动rsync,并查看
启动rsync daemon
rsync –daemon
[root@BlackGhost local]# ps -e|grep rsync
16745 ? 00:00:00 rsync
三,rsync客户端的同步
首先要安装一下,rsync配置可以不用动
rsync -参数 用户名@同步服务器的IP::rsyncd.conf中那个方括号里的内容 本地存放路径 如:
[root@BlackGhost local]# rsync -avzP zhangying@192.168.1.5::test /home/zhangy/2009
上图中的adfadfadf就是写在下面的文件里面的。
motd file = /etc/rsyncd.motd