实验环境为 centos 7.2 系统
CentOS Linux release 7.2.1511 (Core)
主机 ip 10.1.250.19
客户端 ip 10.1.250.20
系统默认安装版本:
rpm -qa |grep rsync
rsync-3.0.9-17.el7.x86_64
没有的可以 自己安装:
yum -y install rsync
配置服务 开机自启
systemctl enable rsyncd.service (开机自启)
systemctl start rsyncd.service (启动服务)
systemctl status rsyncd.service (查看启动状态)
查看端口状态:
[root@zabbix-agent ~]# lsof -i:873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 14424 root 4u IPv4 9327226 0t0 TCP *:rsync (LISTEN)
rsync 14424 root 5u IPv6 9327227 0t0 TCP *:rsync (LISTEN)
主机配置 文件:
创建密码验证文件
vim /etc/rsyslog.d/rsync.ps
root:asdfgh
用户名:密码 (此密码为自定义 密码 只要和客户端保持一致即可 )
chmod 600 /etc/rsyslog.d/rsync.ps (赋予权限只读)
主配置文件
mv /etc/rsyncd.conf /etc/rsyncd.confbak (备份原文件)
新建配置文件
vim /etc/rsyncd.conf
[gaoqiang]
path= /gaoqiang
auth users = root
uid = root
gid = root
secrets file = /etc/rsyslog.d/rsync.ps
read only = no
内容注释:
[gaoqiang] (认证名称)
path= /gaoqiang (备份的根目录)
auth users = root (验证用户)
uid = root (用户ID)
gid = root (组 ID)
secrets file = /etc/rsyslog.d/rsync.ps (验证密码配置文件位置 可以自定义位置)
read only = no (关闭只读 允许修改)
重启服务:
systemctl restart rsyncd.service (启动服务)
创建模拟数据:
cd /gaoqiang
touch test1
touch test2
touch test3
touch test4
主机配置完成!
客户端同样需要安装 rsync 服务
创建密码验证文件
vim /etc/rsyncd.ps
asdfgh (只填写 密码 ,要保持一致)
chmod 600 /etc/rsyncd.ps (赋予权限)
配置服务 开机自启
systemctl enable rsyncd.service (开机自启)
systemctl start rsyncd.service (启动服务)
systemctl status rsyncd.service (查看启动状态)
查看端口状态:
lsof -i:873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 14424 root 4u IPv4 9327226 0t0 TCP *:rsync (LISTEN)
rsync 14424 root 5u IPv6 9327227 0t0 TCP *:rsync (LISTEN)
客户端配置完成!
测试:
手工同步文件验证
rsync -vzrltogp root@10.1.250.19::gaoqiang . –password-file=/etc/rsyncd.ps
rsync -vzrltogp root@10.1.250.19::gaoqiang . –password-file=/etc/rsyncd.ps
receiving incremental file list
./
test1
test2
test3
test4
sent 137 bytes received 319 bytes 912.00 bytes/sec
total size is 35 speedup is 0.08
测试成功!
参数详解:
rsync -vzrltogp root@10.1.250.19::gaoqiang . –password-file=/etc/rsyncd.ps
这条命令的意思是:
-vzrltogp
-v表示verbose(详细)
-z表示zip(压缩)
-r表示recursive(递归目录)
-topg是保持文件原有属性如o=owner(属主)、t=times(时间)、p=perms(权限)、
g=group(组)的参数
root@10.1.250.19::gaoqiang
表示对服务器10.1.250.19中的gaoqiang模块进行备份,登录帐号是root
–password-file=/etc/rsync.ps
指定用来验证客户端与服务端密码一致的文件。
完成!
加入计划任务:
把命令 加入脚本
vim /bin/rsync_test.sh
rsync -vzrltogp root@10.1.250.19::gaoqiang . –password-file=/etc/rsyncd.ps
Chmod 755 /bin/rsync_test.sh
加入计划任务:
Crontab -e
1 * * * * /bin/rsync_test.sh (每分钟执行一次文件同步 可以根据自己 实际情况配置)
注意和说明
1:
Rsync server
会打开一个873 端口,等待客户端去连接。连接时,Rsync server 会检查口令
是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会
把整份文件传输一次,以后则就只需进行增量备份
2:
rsync 的版本区别
(1)rsync 的2.6.X 版本,在对文件进行备份时,是先列表后备份,所以在推送大量文
件时,会耗费很多的内存资源
(2)rsync 的3.0.X 版本,在对文件进行备份时,是采用incremental file list,即:
一边列表一边备份,所以占用的内存资源只有4M~5M,因此在实际的环境中是完全可应用的
原创文章,作者:qiang1710,如若转载,请注明出处:http://www.178linux.com/17319