您的位置:首页 > 其它

使用rsync进行同步备份

2010-08-27 07:43 731 查看
首先我们要明白的是哪里是我们要复制的源,我在这里称它为server,而我们用来保存同步数据的主机,我称它为client。可以按此方法同步任何授权文件。

测试环境:
  两台RedHat Enterprise Linux  内核 2.6.18
  server:192.168.0.24

  client:192.168.0.16

一、首先在server端安装rsync,任选一种方式(大部分的linux系统已安装过,我在这里给出安装的方法):
A. yum源 :yum
install -y rsync
B. rpm包 :rpm -ivh rsync-3.0.5-1.el5.rf.i386.rpm

rpm下载地址为: ftp://ftp.pbone.net/mirror/ftp.freshrpms.net/pub/freshrpms/pub/dag/redhat/el5/en/i386/RPMS.dag/rsync-3.0.5-1.el5.rf.i386.rpm

C. 使用源码编译安装wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz
#tar zxvf rsync-3.0.7.tar.gz
#cd rsync-3.0.7

#./configure
#make
#make install
官方下载地址为:http://rsync.samba.org/ftp/rsync/src/

二、在服务器端创建rsync配置文件
cat>> /etc/rsyncd.conf  << EOF

uid=nobody
gid=nobody
use chroot = no
max connections = 5

pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log
file = /var/log/rsyncd.log
[www]  
path = /web
ignore errors
read only = yes
hosts allow
= 192.168.0.0/24
hosts deny = 0.0.0.0./32
auth users = nobody

secrets file = /etc/rsync.pass
EOF
创建www段限制可访问的IP,并且使用用户密码来验证,用户可以使用nobody,密码为授权给客户端密码 。
path=    指定要同步的目录
三、服务器端创建认证文件:
echo "nobody:123456" >/etc/rsync.pass
chmod 600 /etc/rsync.pass

启动rsync
rsync --daemon
四、rsync客户端设置
创建客户端认证密码文件,只有密码部份
echo "123456" > /rsyclient.pass
chmod 600
/rsynclient.pass
创建一个存放的目录
mkdir /web
五、创建自动同步
--delete 使服务端与客户端保持一致

nobody@192.168.0.24::www   这里选择使用服务端nobody帐户访问服务器

www为我们在服务端的rsyncd.conf中定义的区段
♦如果不间断地进行备份可以创建如下脚本(每60秒同步一次):
cat
>> /backup.sh <<EOF
#!/bin/bash
while true
do
rsync
-vzrtopg --delete nobody@192.168.0.24::www /web/ --password-file=/rsyclient.pass

sleep 60
done
EOF
chmod a+x /backup.sh
开机启动
echo
"/bin/bash /backup.sh" >> /etc/rc.d/rc.local
♦创建计划任务,每天2点进行同步 
echo "00 02 * * * rsync -vzrtopg --delete nobody@192.168.0.24::www /web/
--password-file=/rsyclient.pass" >> /var/spool/cron/root本文出自 “一份存档” 博客,请务必保留此出处http://linuxbpm.blog.51cto.com/1823930/383896
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: