Linux下resync同步文件
01、实际工作中,我们有大量的数据要进行同步及备份,手动手帕灰常慢,那么在Linx下我们可以 使用sersync进行同步,非常快也非常可靠,下面我们来做一个简单的测试: 02、实验环境 1)服务器端:CentOS 5.5_X64 IP:192.168.10.362)客户端: CentOS 5.5_X64 IP:192.168.10.38
03、准备工作 下载 sersync2.5.4_64bit_binary_stable_final.tar.gz包 下载地址: 04、服务器端配置: [root@test ~]# tar zxvf /opt/sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/bin/ [root@test ~]# cd /usr/bin/GNU-Linux-x86/
[root@test GNU-Linux-x86]# ll
total 1776
-rwxr-xr-x 1 root root 2217 Aug 17 18:31 confxml.xml
-rwxr-xr-x 1 root root 1810128 Oct 26 2011 sersync2
[root@test GNU-Linux-x86]# vi confxml.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost" port="8008"></host>
<debug start="false"/>
<fileSystem xfs="false"/>
<filter start="false">
<exclude expression="(.*)\.svn"></exclude>
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
<exclude expression="^static/*"></exclude>
</filter>
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="false"/>
<closeWrite start="true"/>
<moveFrom start="true"/>
<moveTo start="true"/>
<attrib start="false"/>
<modify start="false"/>
</inotify> ##################以上部分保持默认即可####下面红色即为修改配置地方#################### <sersync>
<localpath watch="/opt/tongbu">
<remote ip="192.168.10.38"COLOR: #ff0000">tongbu"/>
<!--<remote ip="192.168.8.39"/>-->
<!--<remote ip="192.168.8.40"/>-->
</localpath>
<rsync>
<commonParams params="-artuz"/>
<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.php"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false"/>
</sersync> <plugin>
<param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix-->
<filter start="false"> 退出保存 配置好yum,安装rsync以便让sersync进行调用 [root@test GNU-Linux-x86]# yum install rsync 05、客户端配置 1)安装rsync软件包 [root@mail ~]# yum install rsync 创建配置文件 [root@mail ~]# vi /etc/rsyncd.conf uid=root //设置运行权限为root
gid=root
max connections=100
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
[tongbu]
path=/opt/tongbu
comment = tongbu//与上面[tongbu]模块名称相同
ignore errors = yes
read only = no //设置客户端可以上传文件,yes为只读,不能上传 write only = no //设置客户端可以下载文件,yes为不能下载
hosts allow = 192.168.10.36 192.168.10.38//表示只允许这两台主机可以进行同步 hosts deny = * //拒绝其他一切机器同步 创建同步目录 [root@mail ~]# mkdir /opt/tongbu 启动rsync服务 [root@mail ~]# rsync --daemon [root@mail ~]# lsof -i:873 //检查服务是否启动 [root@mail ~]# lsof -i:873
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
rsync 4236 root 4u IPv6 14709 TCP *:rsync (LISTEN)
rsync 4236 root 5u IPv4 14710 TCP *:rsync (LISTEN)
[root@mail ~]# 如果有iptables防火墙,请允许TCP的873端口开放 下面来进行同步测试 在服务器端的/opt/tongbu/下面建立一个文件 [root@test GNU-Linux-x86]# mkdir /opt/tongbu/ [root@test GNU-Linux-x86]# touch /opt/tongbu/file.txt [root@test GNU-Linux-x86]# ll /opt/tongbu/
total 0
-rw-r--r-- 1 root root 0 Aug 17 18:45 file.txt
启动sersync [root@test GNU-Linux-x86]# ./sersync2 -r -d 查看客户端是不是同步过去了 [root@mail ~]# ll /opt/tongbu/
total 0
-rw-r--r-- 1 root root 0 Aug 17 2012 file.txt //同步成功
[root@mail ~]# sersync 选项说明 -h 查看帮助文件
-r 在同步程序开启前,将整个路径跟远程服务器同步一遍
-d 开启守护进程模式在后台运行
-o 指定配置文件,如果不是默认的confxml.xml的情况下
-n 指定同步守护线程数量,默认为10个,适用于现在的4核服务器。如果需增加或减少使用 '-n 数量'