可以用于线上服务器同步代码。
rsync为C/S架构,一台主服务器,可以有多台从服务器
1.主服务器(需要备份的服务器):配置好yum源,安装rsync服务端
#yum install rsync
2.创建rsync 同步目录/data,此目录里面的内容将被同步到从服务器上
#mkdir /data
3.创建权限认证文件,此文件用于存放从服务器验证身份,格式为“username:password”,该用户与操作系统上面的用户没有一点关系,所以系统上不需要创建此用户。文件可使用任意名称,最好容易识别
#vim /etc/rsyncd.pass
wujingchao:123456
安全起见密码文件权限需修改为600
#chmod 600 /etc/rsyncd.pass
4.创建 rsync 配置文件/etc/rsyncd.conf,默认是没有这个文件的
uid=root #该选项指定当该模块传输文件时守护进程应该具有的uid,配合gid选项使用可以确定rsync具有访问那些文件夹的权限,默认值是"nobody",我们可以根据相应的需要进行配置。
gid=root #该选项指定当该模块传输文件时守护进程应该具有的gid,默认值是”nobody”。
use chroot=no #不使用chroot
max connections=20 #设置最大连接数,默认为0,即无限制。这里设置为20.
strict mode =yes #设置是否检查口令文件的权限
pid file=/var/run/rsyncd.pid #指定rysnc进程的pid文件位置
lock file=/var/lock/rsync.lock #指定支持max connections的锁文件
log file=/var/log/rsyncd.log #指定 rsync日志输出路径
[your_model_name] #*模块名,可使用任意名称*
path=/data/ #*源目录路径*
comment=Test rsync #模块描述
ignore errors #出现I/O错误时可忽略。
read only=no #是否只读,设置为no时客户端可上传文件。
write only=no #设置为no 时客户端可下载文件。
hosts allow=192.168.0.100 #*允许访问主机*
hosts deny=* #拒绝访问的主机,*表示所有主机。
list=false #设置客户端请求时是否列出该模块,false为隐藏。
auth users=wujingchao #设置连接时使用的用户,即密码文件里面定义的用户名。
secrets file=/etc/rsyncd.pass #指定密码文件位置
1.启动rsync守护进程
启动服务
手动方式(–config用于指定rsyncd.conf的位置,如果在/etc下可以不写)
#/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
xinetd方式
如果没有安装xinet,请先安装,
#yum install xinet
在rsync默认安装完成后,安装程序会自动在建立/etc/xinetd.d/rsync文件,但是默认情况是disable = yes,需要修改disable=no 即可然后,我们通过xinet启动rsync:
#service xinetd start/restart
好了这样主服务器就配置好了,启动之后可以看一下873是否处于监听状态
#netstat -tnlp
如果该端口被防火墙作用:
开启873端口
#iptables -I INPUT -p tcp --dport 873 -j ACCEPT
1.安装rsync
2.配置权限认证文件里面写入与主服务器相同的密码,不需要再写username
#vim /etc/rsyncd.pass
123456
3.创建备份的文件夹
#mkdir /backup
4.执行同步命令
#/usr/bin/rsync -avzP --delete --progress --exclude-from=/etc/exclude.conf --password-file=/etc/rsyncd.pass wujingchao@192.168.0.100::your_model_name /backup
--exclude-from 表示要排除上传哪些文件或者那些后缀的文件execlude.conf示例文件如下
admin/doAddProFromcsv/
site_data/
.dat
.log
.txt
.xml
add_admin.php