rsync服务器搭建
作用:rsync主要用于两个文件夹、镜像、文件系统等做同步用,可作用于同一台服务器两个文件夹或多台不同服务器文件夹之间的同步。支持断点续传,个人觉得简单、好用,在实际生产环境应用也比较多。
一、服务器端配置(192.168.1.10)
1.安装超级守护进程xinetd
yum install xinetd
vim /etc/xinetd.d/rsync ##改disable = no,表示xinetd监听rsync
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
2.centos服务器默认是自带rsync的,所以不用另外安装rsync,只需要建立其配置文件即可
vim /etc/rsyncd.conf ##建立rsync配置文件
全局参数
uid = root ###运行rsync进程的用户,一般与同步文件夹拥有者一样
gid = root ###运行rsync进程的组
use chroot = no ###不使用chroot
max connections = 10 ###最大连接数
transfer logging = yes
log file = /var/log/rsyncd.log ###日志
syslog facility = local3
模块参数
[server] ###模块名
path = /server/ ###同步的路径
comment = script ###模块备注信息
auth users = lin ###模块认证用户
read only = yes ###只读
hosts allow = 192.168.1.11 ###允许访问的地址
secrets file = /etc/rsync.pas ###存放密码的文件
3.建立rsync密码文件
vim /etc/rsync.pas ###文件名要跟上面secrets file指定的一样
abc:abc123 ###格式为用户名:密码,用户名要跟auth users一样,多个用户每行一个。
4.重启xinet
/etc/init.d/xinetd restart
###到此,服务器端配置完成
二、客服端配置(192.168.1.11)
1.建立密码文件
vim /usr/local/bin/server.pas
abc123 ###这个密码要跟服务器端rsync.pas的密码一样,不要填用户名,不要有空格
2.写个rsync同步脚本
RSYNC_CMD="rsync -azvP --port=873 --password-file=/usr/local/bin/server.pas"
${RSYNC_CMD} --delete [email protected]::server/scripts/ /server/scripts/ ###::server是指服务器的server模块,这是把服务器/server/scripts/ 同步到本地/server/scripts/
###如果需要把本地文件夹同步到服务器则改为:
${RSYNC_CMD} --delete /server/scripts/ [email protected]::server/scripts/
###到此,rysnc客户端也配置文本,每次同步只需这些rsync.sh脚本,或用crontab -e写个定时任务执行即可。
注:只需要同步一次的,不需要搭建服务器形式,直接用rsync走ssh的方式即可
例如:rsync -azvP [email protected]:/server/scripts/ /server/ceshi
或:rsync -azvP /server/ceshi [email protected]:/server/scripts/
###输入192.168.1.10的root密码即可