本文共 2371 字,大约阅读时间需要 7 分钟。
Rsync基本原理
Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync的优点①可以镜像保存整个目录树和文件系统;②可以很容易做到保持原来文件的权限、时间、软硬链接等;③无须特殊权限即可安装;④优化的流程,文件传输效率高;⑤可以使用rsh、ssh等方式来传输文件,当然也可以通过直接的socket连接;⑥支持匿名传输Rsync 安装
Rsync server 192.168.1.100
Rsync clinet 192.168.1.200
yum install -y rsync 采用yum 安装rsync
getenforce 查看Selinux 是否开启,如果值为1说明是开启的setenforce 0 关闭Selinux且不需要重启服务器重启服务:/etc/init.d/xinetd restart
用ps -ef |grep rsync 查看rsync服务是否开启
服务端的配置:
rsync默认的配置文件时不存在的,需要系统管理员新建rsync配置文件[root@nagios sh]#vim /etc/rsyncd.confuid = www 进行备份的用户gid = www 进行备份的组user chroot = no 设置为YES必须要以root用户,检测path指定目录max connections = 200 最大连接数timeout = 600 允许客户端连接时间pid file = /var/run/rsyncd.pid pid文件存放的位置lock file = /var/run/rsyncd.lock 锁文件存放的位置log file = /var/log/rsyncd.log 日志文件存放的位置[www] 认证的模块名path=/data/www/ 指定参与同步的目录ignore errors 可以忽略一些无关的IO错误read only = no 允许可读可写list = no 不允许列清单hosts allow = 192.168.1.200 指定客户端同步的IP地址hosts deny = *
auth users = rsync 指定认证的用户secrets file = /etc/rsyncd.password 认证的密码文件chomd -R 777 /data
echo rsync:123456 >/etc/rsyncd.passwordchmod 600 /etc/rsyncd.password一定要修改/etc/xinetd.d/rsync
disable=no然后重新守护进程xinetdrsync 也可以已daemon的方式运行,启动方法如下:
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
netstat -antlp |grep "LISTEN"
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 10144/zabbix_agentd tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 20933/rsync tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2842/mysqld tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 30944/memcached 客户端的配置 echo 123456 >/etc/rsyncd.password 密码文件只需要密码chomd 600 /etc/rsyncd.password客户端同步:
1)rsync -avz --progress --delete /data/backup/www/ rsync@192.168.1.100::www --password-file=/etc/rsyncd.password 2)rsync -avz --progress --delete rsync@192.168.1.100::www --password-file=/etc/rsyncd.password /data/backup/www/ 标注:在加--delete参数的时候一定要慎重,不了可能会面临失业的严重后果;其次要注意备份方向性,例如1)是把客户端的数据/data/backup/www/备份到192.168.1.100 www模块指定的目录里面,2)正好相反; rsync -avz --progress --delete --exclude-from=/data/config/exclude-www.txt /data/backup/www/ rsync@192.168.1.100::www --password-file=/etc/rsyncd.passwrod --exclude-from=/data/config/exclude-www.txt 选项的意思是排除exclude-www.txt文件里面的目录 [root@nagios sh]# cat /data/config/exclude-www.txt /logs/ /images/ rsync 参数解释 -a --archive 归档模式,表示以递归方式传输文件,并保持文件的属性 -v --verbose 详细模式输出 -z --compress 对备份文件在传输时进行压缩 --progress 显示备份过程 --exclude-from=FILE 排除FILE中指定模式的文件
转载地址:http://sgrwa.baihongyu.com/