下载rsync-3.1.1.tar.gz 下载地址 http://pan.baidu.com/s/1gdtds3L
安装rsync
[root@localhost ~]# tar zxvf rsync-3.1.1.tar.gz
[root@localhost ~]# cd rsync-3.1.1
[root@localhost rsync-3.1.1]# make && make install
rsync四种模式
本地shell模式:主要用于复制指定目录到另一个目录,例如
[root@localhost ~]# rsync -av rsync-3.1.1 /tmp
2.远程shell模式:把指定的本地目录复制到另一个系统中,例如
[root@localhost ~]# rsync -av rsync-3.1.1 192.168.5.206:/tmp
root@192.168.5.206's password:
如果以root用户身份执行此命令,需要输入192.168.5.206的root密码
3.rsync列表模式:查看远程主机192.168.5.206的/tmp目录下内容
[root@localhost ~]# rsync -av rsync-3.1.1 192.168.5.206:/tmp
root@192.168.5.206's password:
需要输入192.168.5.206root密码
4.服务器模式:rsync在后台启用了一个守护进程,这个守护进程在rsync服务器端永久运行,用于接收文件传输请求,客户端既可以把文件发送给守护进程,也可以向守护进程请求文件,实例
把A系统的/data备份到系统/backupdata
操作系统:RHEL6.2
内核版本:2.6.32-220.el6.x86_64
A系统IP:192.168.5.205 (rsync服务器端)
B系统IP:192.168.5.206 (rsync客户端)
1)在A系统安装rsync
[root@localhost ~]# tar zxvf rsync-3.1.1.tar.gz
[root@localhost ~]# cd rsync-3.1.1
[root@localhost rsync-3.1.1]# make && make install
2)创建rsync的配置文件, 默认没有此文件,需要手动建立,内容如下
[root@localhost ~]# vim /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = no
max connections = 0 #最大并发连接数量,默认0,无限制
strict modes = yes #是否检查口令的文件的权限,yes为检查
pid file = /var/run/rsyncd.pid #指定rsync守护进程对应的pid文件路径
locak file = /var/run/rsync.lock #指定支持max connections的锁定文件,默认 log file = /var/log/rsyncd.log #指定了rsync的日志传输文件路径
[ixdba] #定义一个模块的开始,ixdba就是该模块名称
path=/data #指定需要备份的文件或目录
comment = ixdba file
ignore errors #忽略一些无关的I/O错误
read only = no #no表示客户端可以上传文件,yes表示只读
write only = no #no表示客户端可以下载文件,yes表示不能下载
hosts allow = * #可以连接rsync服务器的主机,*表示允许任何
hosts deny = 192.168.5.x #设置禁止连接rsync服务器的主机
list = false #false不列出使用的模块列表,true列出
uid = root
gid = root
auth users = backup #指定连接该模块的用户名,与系统用户没有任何关系
secrets file = /etc/server.pass #用户名:密码的文件,系统默认没有此文件,需要手动创建
3)创建/etc/server.pass
[root@localhost ~]# vim /etc/server.pass
backup:ixdba123 #用户名:密码
[root@localhost ~]# chmod 600 /etc/server.pass
4)在A系统上启动rsync守护进程
[root@localhost ~]# /usr/local/bin/rsync --daemon
[root@localhost ~]# ps -ef | grep rsync
root 7874 1 0 16:02 ? 00:00:00 /usr/local/bin/rsync --daemon
5)在B系统上配置rsync
安装rsync
[root@localhost ~]# tar zxvf rsync-3.1.1.tar.gz
[root@localhost ~]# cd rsync-3.1.1
[root@localhost rsync-3.1.1]# make && make install
创建密码文件
[root@localhost ~]# vim /etc/server.pass
ixdba123 #密码
[root@localhost ~]# chmod 600 /etc/server.pass
执行操作
[root@localhost ~]# /usr/local/bin/rsync -vzrtopg --delete --progress
--exclude "*access*" --exclude "*debug*" backup@192.168.5.205::ixdba /backupdata --password-file=/etc/server.pass
这条指令中的参数含义:
-vzrtopg
v是--verbose 即详细模式输出;z表示 --compress 即在传输时对备份的文件进行压缩处理;
r表示--recursive 对子目录以递归模式处理;t即--times,保持文件时间信息
o即--owner保持文件属主信息;p即--perms,保持文件的权限;g即--group保持文件的属组信息
--delete
指定以rsync服务器端为基准进行数据镜像同步
--progress 用于显示数据镜像同步过程
--exclude 用户拍出不需要传输的文件类型
backup@192.168.5.205::ixdba
表示对服务器192.168.5.206中的ixdba模块进行备份,backup表示使用这个用户
/backupdata 指定备份文件在客户端上的存放路径
--password-file=/etc/server.pass
指定客户机上存放密码文件的位置
6)定时备份策略,如设定客户端rsync每天凌晨3:30执行镜像备份操作
在B服务器上执行crantab -e ,添加如下信息即可
[root@localhost ~]#crontab -e
30 3 * * * /usr/local/bin/rsync -vzrtopg --delete --progress
--exclude "*access*" --exclude "*debug*" backup@192.168.5.205::ixdba /backupdata --password-file=/etc/server.pass
二、通过rsync+inotify实现数据的实时备份
转载于:https://blog.51cto.com/nmszh/1557161