一、流程图
二、rsync的安装
1、卸载原来的rsync
当然在安装Linux操作系统时,rsync是会被默认安装好的,如果觉得版本太低的话,可以通过如下步骤将其卸载掉
- #rmp -qla | grep rsync //查看一下安装的rsync版本
- #rmp -e --nodeps rsync.2.6.. //卸载原来的rsync版本
2、安装新版本的rsync(服务器A和备份服务器B操作是一样的)
rsync下载地址如下
http://rsync.samba.org/
- #tar xf rsync-3.0.9.tar.gz
- #cd rsync-3.0.9
- #./configure --prefix=/usr/local/rsync
- #make
- #make install
3、在服务A(即rsync服务端)下创建配置文件
- #vim /etc/rsyncd.conf //默认是没有的
- 添加如下内容
- uid = nobody
- gid = nobody
- port = 873 //rsync的端口
- use chroot = no
- max connections = 3 //允许客户端的最大连接数
- strict modes = yes //是否需要密码验证文件
- 注:这里为yes时,密码文件权限要改为600
- pid file = /var/run/rsync.pid //pid文件
- lock file = /var/run/rsync.lock //锁文件
- log file = /var/log/rsync.log // 日志文件
- [web] //自定义的模块,用来客户端做验证的
- path = /data/ //要备份的目录
- ignore = errors //当有一些错误时,忽略
- read only = no //允许客户端上传文件
- hosts allow = 192.168.1.6 //允许该IP的客户端同步
- hosts deny = * //不允许
- list = false
- uid = root //用于同步的属主和属组
- gid = root
- auth users = centos //客户端用来验证的用户名
- secrets file = /etc/rsync.pas //密码文件
4、在客户端和服务器端建立密码文件
- 在服务器端(即服务器A上)
- #vim /etc/rsync.pas //这个密码文件是要和配置文件中的一致的。
- centos:rsync //其中centos为验证用户,rsync为密码
- #chmod 600 /etc/rsync.pas //修改权限为600
- 在客户端(即服务器B上)
- #vim /etc/rsync.pas //这个密码文件是要和配置文件中的一致的。
- rsync //此密码要和服务端相同
- #chmod 600 /etc/rsync.pas //修改权限为600
5、在服务器端启动rsync的守护进程
- #/usr/local/rsync/bin/rsync --daemon //启动守护进程
- #ps -ef | grep rsync //查看进程是否启动
6、同步数据到客户端
- 在客户端(即服务器B上)
- rsync -vzrtopg --progress --delete [email protected]::web --password-file=/etc/rsyncd.secrets /data //把服务端文件同步到本地data目录下
- -v, --verbose 详细模式输出
- -q, --quiet 精简输出模式
- -r, --recursive 对子目录以递归模式处理
- -p, --perms 保持文件权限
- -o, --owner 保持文件属主信息
- -g, --group 保持文件属组信息
- --delete 删除那些DST中SRC没有的文件
- --progress 显示备份过程
- -t, --times 保持文件时间信息
7、编写脚本并建立定时任务让定时执行备份
- #vim /home/bakrsync.sh
- #!/bin/bash
- #
- RSYNC=/usr/local/rsync/bin/rsync
- $RSYNC -vzrtopg --progress --delete --password-file=/etc/rsync.pass [email protected]::web /data
- #chmod +x /home/bakrsync.sh
- #contab -e
- 01 01 * * * /home/basrsync.sh & //每天凌晨放在后台自动执行
8、rsync中常见错误如下(转自http://blog.chinaunix.net/uid-13954085-id-158637.html)