一、思路
1.所用软件rsync、crond服务
2.在服务器上配置rsync服务端,启动服务并加入开机启动
3.客户端加入crond任务计划,让其定时执行rsync
4.最后服务端要确保自动启动rsync服务,客户端自动启动crond服务
二、配置(rsync服务端+rsync客户端)
服务端
[root@server ~]# vim/etc/rsyncd.conf 创建主配置文件
uid = nobody 传输文件时守护进程所具有的uid号(默认nobody)
gid = nobody 传输文件时守护进程所具有的gid号(默认nobody)
use chroot = no yes表示额外的安全防护,no则没有定义
log file = /var/log/rsyncd.log 定义日志文件
pid file = /var/run/rsyncd.pid 定义pid文件
[tools] 认证模块名
path = /usr/src 要同步的路径
read only = yes 同步权限只读
auth users = web1 认证用户
secrets file = /etc/rsyncd.pas 认证用户和密码要存放的文件
[root@server ~]# vim/etc/rsyncd.pas 创建认证文件
web1:123456
[root@server~]# chmod 600 /etc/rsyncd.pas此步一定要更改权限,否则认证会出错
[root@server ~]# rsync --daemon 启动服务
[root@server ~]# netstat -auntlp | grep rsync 查看默认端口873是否开启,表示服务启动
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 7505/rsync
[root@server ~]# echo "rsync --daemon" >> /etc/rc.local 开机自动启动rsync服务
[root@server ~]# tail -1 /etc/rc.local 查看是否写入到开机启动脚本里
rsync --daemon
客户端
[root@client ~]# rsync -avz [email protected]::tools /bak/
[root@ client ~]# ls /bak/
debug kernels vmware-tools-distrib
为了加入定时计划,免去手动输入密码,用选项--password-file=“文件路径”
--password-file是rsync的一个选项,用它指定密码文件所在,避免手动输入验证,所以必须创建此密码文件,密码要与服务端定义的密码一致,并且需要更改此文件的权限600,所有者为root
[root@client ~]# vim /etc/rsyncd.pas
123456
[root@client ~]# chmod 600 /etc/rsyncd.pas
[root@client ~]# rsync -avz --password-file=/etc/rsyncd.pas [email protected]::tools /bak/
经过手动测试没问题,将同步加入crond定时计划任务
[root@client ~]# crontab �Ce
* */6 * * * rsync -avz --password-file=/etc/rsyncd.pas [email protected]::tools /bak/
注:此任务是定义每6个小时执行一次备份 5个字段分别是:分、时、日、月、周
[root@client ~]# service crond restart重启crond加载任务
停止 crond: [确定]
正在启动 crond: [确定]
[root@client ~]# crontab -l查看已定义的计划任务
* */6 * * * rsync -avz--password-file=/etc/rsyncd.pas [email protected]::tools /bak/
[root@client ~]# chkconfig--list crond
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
三、rsync工具常用选项
-a:归档模式,相当于-rlptgoD
-v:显示同步过程详细信息
-z:传输过程中启用压缩
-H:保留硬连接文件
-A:保留文件的ACL属性信息
--delete:删除目标有而源没有的文件
--checksum:根据校验和来决定是否要同步
--password-file=:指定认证口令文件
注:上述选项的-a代表多个意义(常用-a选项)
-a=rlptgoD
-r:递归,包括目录/子目录及所有文件
-l:保留符号链接文件
-p、-t:保留文件的权限、时间标记
-o、-g:保留文件的属主/属组标记
-D:保留设备文件及其他特殊文件