一、思路

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 web1@192.168.10.1::tools     /bak/

[root@ client ~]# ls  /bak/

debug  kernels vmware-tools-distrib


为了加入定时计划,免去手动输入密码,用选项--password-file=“文件路径”

--password-filersync的一个选项,用它指定密码文件所在,避免手动输入验证,所以必须创建此密码文件,密码要与服务端定义的密码一致,并且需要更改此文件的权限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 test@192.168.10.1::tools  /bak/

经过手动测试没问题,将同步加入crond定时计划任务

[root@client ~]# crontab  –e

* */6 * * * rsync -avz  --password-file=/etc/rsyncd.pas web1@192.168.10.1::tools   /bak/

注:此任务是定义每6个小时执行一次备份  5个字段分别是:分、时、日、月、

[root@client ~]# service crond  restart重启crond加载任务

停止 crond:                                              [确定]

正在启动 crond: [确定]

[root@client ~]# crontab -l查看已定义的计划任务

* */6 * * * rsync -avz--password-file=/etc/rsyncd.pas web1@192.168.10.1::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:保留设备文件及其他特殊文件