Chinaunix首页 | 论坛 | 博客
  • 博客访问: 509812
  • 博文数量: 112
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 662
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-20 07:22
个人简介

一步一个脚印

文章分类

全部博文(112)

文章存档

2019年(2)

2017年(2)

2016年(2)

2015年(6)

2014年(35)

2013年(65)

分类: LINUX

2013-04-27 09:17:46

yum install rsync  #一般较新版本的Centos都已经安装了rsync
yum install xinetd   

vi /etc/xinetd.d/rsync
#修改如下代码

service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = –daemon
log_on_failure += USERID
}
service xinetd start
chkconfig xinetd on
xinetd是可以将rsync以服务的形式启动,但是网上的资料说这种方式不能更改rsync的侦听端口,只能以默认的873端口运行。我以命令方式启动服务,所以没有对这种方式进行测试

【服务器端】
vi /etc/rsyncd.conf  #这个文件需要创建

#Global Settings
uid = root #
以什么身份运行rsync
gid = root
use chroot = no #
不使用chroot
max connections = 20 #
最大连接数
secrets file = /etc/rsyncd.secrets #
密码文件位置,认证文件设置,设置用户名和密码
log file = /var/log/rsyncd.log #
指定rsync的日志文件,而不将日志发送给syslog
pid file = /var/run/rsyncd.pid #
指定rsyncpid文件
lock file = /var/run/rsync.lock #
指定支持max connections参数的锁文件,默认值是/var/run/rsyncd.lock
comment = hello world
#motd file = /etc/rsyncd.motd #
欢迎信息文件名称和存放位置(此文件没有,可以自行添加)

[pro1] # 这里是认证的模块名,在client端需要指定
path = /rfdw/www/repos # 需要做镜像的目录
auth users = rsyncuser # 授权帐号。认证的用户名,如果没有这行,则表明是匿名,多个用户用,分隔
read only = no # yes只读 值为NO意思为可读可写模式,数据恢复用NO
hosts allow = 212.178.3.128 #允许访问的服务器IP
hosts deny = * #黑名单
list = true # 允许列文件
#ignore errors # 可以忽略一些无关的IO错误
#exclude = cache/111/ cache/222/ #忽略的目录
[pro2
path = /add/www/vgrd
auth users = rsyncuser
read only = no
hosts allow = 212.178.3.128 
hosts deny = * 
list = true
#ignore errors
#exclude = cache/111/ cache/222/
[pro3
path = /data/www/yudfg
auth users = rsyncuser
read only = no
hosts allow = 212.178.3.128 
hosts deny = * 
list = true
#ignore errors
#exclude = cache/111/ cache/222/


vi /etc/rsyncd.secrets         #文件需要创建
rsyncuser:qwert12345        #用户名与/etc/rsyncd.conf文件里的auth users用户名相同
chmod 600 /etc/rsyncd.secrets      #必须执行这个权限,否则会报错

/usr/bin/rsync --daemon --config=/etc/rsyncd.conf --port 45678
将命令写入/etc/rc.local让rsync开机启动

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 45678 -j ACCEPT    #打开防火墙

终止服务  killall -9 rsync
rm -rf /var/run/rsyncd.pid

tail -100 /var/log/rsyncd.log     #实时查看日志的最后100行

【客户端】
yum install rsync
vi /etc/rsyncd.pas
qwert12345      #只需要密码,与服务器相同
chmod 600 /etc/rsyncd.pas      #必须执行这个权限,否则会报错


/usr/bin/rsync -artuz --delete -R --port=45678 rsyncuser@212.178.3.128::pro1 --password-file=/etc/rsyncd.pas /backup/pro1/
/usr/bin/rsync -artuz --delete -R --port=45678 rsyncuser@212.178.3.128::pro2 --password-file=/etc/rsyncd.pas /backup/pro2/
/usr/bin/rsync -artuz --delete -R --port=45678 rsyncuser@212.178.3.128::pro3 --password-file=/etc/rsyncd.pas /backup/pro3/

--delete的意思是如果服务器上有删除的文件那么也相应的执行删除
第一次执行时间会比较长,再次执行速度就会快了,因为再次执行是比较差异的,这就实现了增量备份。

可以将命令写入定时任务
crontab -e
*/5 * * * * /usr/bin/rsync -artuz --delete -R --port=45678 rsyncuser@212.178.3.128::pro1 --password-file=/etc/rsyncd.pas /backup/pro1/
#
每5分钟执行一次就基本实现数据的同步了
30 23 * * * /usr/bin/rsync -artuz --delete -R --port=45678 rsyncuser@212.178.3.128::pro2 --password-file=/etc/rsyncd.pas /backup/pro2/
#也可以每天23:30执行增量备份计划




阅读(2417) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~