经过rsync+inotify达成数据的实时备份

在前头的博文中,笔者讲到过使用rsync完结多少的镜像和备份,不过要完毕数据的实时备份,单独靠rsync还不能够实现,本文就叙述下哪些落实多少的实时备份。

一、rsync概述

风姿洒脱、rsync的优点与不足  与价值观的cp、tar备份格局相比,rsync具备安全性高、备份急忙、扶助增量备份等优点,通过rsync能够缓和对实时性须求不高的数据备份须求,比如按时的备份文件服务器数据到远端服务器,对本土磁盘按时做多少镜像等。
 随着应用种类规模的不断扩张,对数据的安全性和可信性也提出的更加好的须求,rsync在高级业务种类中也日趋暴露出了重重供应不能够满足须要,首先,rsync同步数据时,供给扫描全体文件后实行比对,进行差量传输。倘若文件数量达到了百万竟是千万量级,扫描全数文件将是充足耗费时间的。何况正在产生变化的每每是里面少之甚少的生龙活虎有个别,那是这多少个低效的点子。其次,rsync不可能实时的去监测、同步数据,纵然它能够经过linux守护进度的秘技进行接触同步,可是五遍接触动作一定会不经常间差,那样就产生了服务端和客商端数据大概现身不相符,不可能在使用故障时完全的还原数据。基于以上原因,rsync+inotify组合现身了!

1.1、rsync的长处与相差

rsync与古板的cp、tar备份格局相比较,rsync具有安全性高、备份神速、扶助增量备份等优点,通过rsync能够解决对实时性须求不高的数据备份要求,举例依期的备份文件服务器数据到远端服务器,对本地球磁性盘按期做多少镜像等。
 随着应用类别规模的不断扩大,对数据的安全性和可信赖性也提议的更好的须要,rsync在高档业务连串中也日益暴暴露了繁多相差,首先,rsync同步数据时,需求扫描全体文件后进行比对,进行差量传输。假若文件数量达到了百万居然千万量级,扫描全数文件将是这几个耗费时间的。并且正在产生变化的再三是当中超级少的生机勃勃局地,那是可怜低效的法子。其次,rsync不能够实时的去监测、同步数据,即便它能够因而linux守护进度的点子进行接触同步,可是一次接触动作一定会不常间差,那样就产生了服务端和客商端数据只怕现身分裂,不只怕在利用故障时完全的回复数据。基于上述原因,rsync+inotify组合现身了!

二、 初识inotify  Inotify
是后生可畏种强大的、细粒度的、异步的文件系统事件监察和控制体制,linux内核从2.6.13起,参加了Inotify协助,通过Inotify能够监督文件系统中拉长、删除,改良、移动等各个细微事件,利用这些根本接口,第三方软件就可以监督文件系统下文件的各样变通景况,而inotify-tools就是这般的三个第三方软件。
在上头章节中,大家讲到,rsync能够兑现触发式的文件同步,然则透过crontab守护进度格局进行接触,同步的多寡和骨子里多少会有反差,而inotify能够监督文件系统的各类变通,当文件有任何改变时,就触发rsync同步,那样无独有偶化解了协同数据的实时性难题。

二、inotify概述

三、 安装inotify工具inotify-tools  由于inotify本性要求Linux内核的扶助,在装置inotify-tools前要先确认Linux系统内核是不是达到了2.6.13上述,若是Linux内核低于2.6.13版本,就要求再一次编译内核参预inotify的支撑,也得以用如下方法判别,内核是还是不是扶助inotify:
[root@localhost webdata]# uname -r
2.6.18-164.11.1.el5PAE
[root@localhost webdata]# ll /proc/sys/fs/inotify
总计 0
-rw-r–r– 1 root root 0 04-13 19:56 max_queued_events
-rw-r–r– 1 root root 0 04-13 19:56 max_user_instances
-rw-r–r– 1 root root 0 04-13 19:56 max_user_watches
假诺有地点三项输出,表示系统现已私下认可接济inotify,接着就可以起来安装inotify-tools了。
可以到下载相应的inotify-tools版本,然后起头编写翻译安装:
[root@localhost  ~]# tar zxvf inotify-tools-3.14.tar.gz
root@localhost  ~]# cd inotify-tools-3.14
[root@localhost inotify-tools-3.14]# ./configure
[root@localhost inotify-tools-3.14]# make
[root@localhost inotify-tools-3.14]# make install
[root@localhost inotify-tools-3.14]# ll /usr/local/bin/inotifywa*
-rwxr-xr-x 1 root root 37264 04-14 13:42 /usr/local/bin/inotifywait
-rwxr-xr-x 1 root root 35438 04-14 13:42 /usr/local/bin/inotifywatch
inotify-tools安装完结后,会生成inotifywait和inotifywatch八个指令,此中,inotifywait用于等待文件或文件集上的一个特定事件,它能够监督任何公文和目录设置,並且能够递归地监督全数目录树。
inotifywatch用于收罗被监督的文件系统总计数据,满含各类inotify事件爆发多少次等音信。

2.1、初识inotify

Inotify是一种强盛的、细粒度的、异步的文件系统事件监察和控制体制,linux内核从2.6.13起,插手了Inotify辅助,通过Inotify可以监察和控制文件系统中足够、删除,修改、移动等各个细微事件,利用那一个根本接口,第三方软件就足以监察和控制文件系统下文件的各个变通情况,而inotify-tools就是这么的八个第三方软件。
在上头章节中,大家讲到,rsync可以实现触发式的文书同步,可是透过crontab守护进度方式进行接触,同步的数据和骨子里数目会互不相同,而inotify能够监控文件系统的各样变通,当文件有其余改换时,就触发rsync同步,那样正好消逝了伙同数据的实时性难点。

四、 inotify相关参数 inotify定义了下列的接口参数,能够用来界定inotify消耗kernel
memory的深浅。由于这么些参数都以内部存款和储蓄器参数,因而,能够依赖使用需要,实时的调节和测量检验其尺寸。上面分别做简单介绍。
    /proc/sys/fs/inotify/max_queued_evnets    
       表示调用inotify_init时分配给inotify
instance中可排队的event的数据的最大值,超过那几个值的风浪被屏弃,但会触发IN_Q_OVERFLOW事件。
    /proc/sys/fs/inotify/max_user_instances
        表示每二个real user ID可创设的inotify instatnces的多少上限。
    /proc/sys/fs/inotify/max_user_watches
        表示每一个inotify
instatnces可监察和控制的最大目录数量。要是监察和控制的文书数量宏大,需求依赖气象,适当扩充此值的轻重缓急,比如:
echo 30000000 > /proc/sys/fs/inotify/max_user_watches

三、测量检验早先

操作系统:CentOS 5.X

源服务器:192.168.21.129

对象服务器:192.168.21.127,192.168.21.128

指标:把源服务器上/home/www.linuxidc.net目录实时同步到对象服务器的/home/www.linuxidc.net下

具体操作:

第意气风发有的:分别在两台指标服务器192.168.21.127,192.168.21.128上操作

风姿洒脱、分别在两台在指标服务器安装PAJEROsync服务端

1、关闭SELINUX

vi /etc/selinux/config #编辑防火墙配置文件
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存,退出
setenforce 0  #立即生效

2、开启防火墙tcp 873端口(LANDsync默许端口)

vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
:wq! #保存,退出
/etc/init.d/iptables restart #最后重启防火墙使配置生

3、安装Odysseysync服务端软件

yum install rsync xinetd #安装
vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync
disable = no #修改为no
:wq! #保存退出
/etc/init.d/xinetd start #启动(CentOS中是以xinetd来管理Rsync服务的

4、创立rsyncd.conf配置文件

vi /etc/rsyncd.conf #创建配置文件,添加以下代码

图片 1图片 2 

log file = /var/log/rsyncd.log #日志文件位置,启动rsync后自动产生这个文件,无需提前创建

pidfile = /var/run/rsyncd.pid  #pid文件的存放位置

lock file = /var/run/rsync.lock  #支持max connections参数的锁文件

secrets file = /etc/rsync.pass  #用户认证配置文件,里面保存用户名称和密码,后面会创建这个文件

motd file = /etc/rsyncd.Motd  #rsync启动时欢迎信息页面文件位置(文件内容自定义)

[home_www.linuxidc.net] #自定义名称

path = /home/www.linuxidc.net/ #rsync服务端数据目录路径

comment = home_www.linuxidc.net #模块名称与[osyunwei]自定义名称相同

uid = root #设置rsync运行权限为root

gid = root #设置rsync运行权限为root

port=873  #默认端口

use chroot = no #默认为true,修改为no,增加对目录文件软连接的备份

read only = no  #设置rsync服务端文件为读写权限

list = no #不显示rsync服务端资源列表

max connections = 200 #最大连接数

timeout = 600  #设置超时时间

auth users = home_www.linuxidc.net_user #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开

hosts allow = 192.168.21.129  #允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开

hosts deny = 192.168.21.254 #禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开

rsync.conf

5、成立顾客认证文件

vi /etc/rsync.pass #配置文件,添加以下内容
home_www.linuxidc.net_user:123456  #格式,用户名:密码,可以设置多个,每行一个用户名:密码
:wq!  #保存,退出

6、设置文件权限

chmod 600 /etc/rsyncd.conf  #设置文件所有者读取、写入权限
chmod 600 /etc/rsync.pass  #设置文件所有者读取、写入权限

7、启动rsync

/etc/init.d/xinetd start  #启动
service xinetd stop   #停止
service xinetd restart #重新启动

第二片段:在源服务器192.168.21.129上操作

一、安装Rsync客户端

1、关闭SELINUX

vi /etc/selinux/config #编辑防火墙配置文件

#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加

:wq! #保存,退出

setenforce 0 #立即生 

2、开启防火墙tcp
873端口(Escortsync暗中同意端口,做为顾客端的Sportagesync能够绝不开启873端口)

vi /etc/sysconfig/iptables #编辑防火墙配置文件

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT

:wq! #保存,退出

/etc/init.d/iptables restart #最后重启防火墙使配置生效 

3、安装Rsync顾客端端软件

whereis rsync   #查看系统是否已安装rsync,出现下面的提示,说明已经安装

rsync: /usr/bin/rsync /usr/share/man/man1/rsync.1.gz

yum install  xinetd  #只安装xinetd即可,CentOS中是以xinetd来管理rsync服务的

yum install rsync xinetd #如果默认没有rsync,运行此命令进行安装rsync和xinetd

vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync

disable = no #修改为

/etc/init.d/xinetd start #启动(CentOS中是以xinetd来管理rsync服务的) 

4、创制认证密码文件

vi /etc/passwd.txt  #编辑文件,添加以下内容

123456 #密码

:wq! #保存退出

chmod 600 /etc/passwd.txt #设置文件权限,只设置文件所有者具有读取、写入权限即可

5、测验源服务器192.168.21.129到两台目的服务器192.168.21.127,192.168.21.128里面包车型地铁数目同步

mkdir /home/www.linuxidc.net/ceshi
#在源服务器上成立测量检验文件夹,然后在源服务器运营上边2行命令

rsync -avH –port=873 –progress –delete  /home/www.linuxidc.net/ 
home_www.linuxidc.net_user@192.168.21.127::home_www.linuxidc.net
–password-file=/etc/passwd.txt

rsync -avH –port=873 –progress –delete  /home/www.linuxidc.net/ 
home_www.linuxidc.net_user@192.168.21.128::home_www.linuxidc.net
–password-file=/etc/passwd.txt

运作完毕后,分别在两台指标服务器192.168.21.127,192.168.21.128上查看,在/home/www.linuxidc.net目录下有ceshi文件夹,表达数据同步成功。

二、安装Inotify-tools工具,实时触发rsync进行联合

1、查看服务器内核是还是不是扶持inotify

ll /proc/sys/fs/inotify 
#列出文件目录,现身上面包车型地铁从头到尾的经过,表明服务器内核协助inotify

-rw-r–r– 1 root root 0 Mar  7 02:17 max_queued_events

-rw-r–r– 1 root root 0 Mar  7 02:17 max_user_instances

-rw-r–r– 1 root root 0 Mar  7 02:17 max_user_watches

备注:Linux下扶植inotify的基业最小为2.6.13,能够输入指令:uname
-a查看内核

CentOS 5.X 内核为2.6.18,暗许已经支撑inotify

2、安装inotify-tools

yum install make  gcc gcc-c++  #安装编译工具

inotify-tools下载地址:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

上传inotify-tools-3.14.tar.gz到/usr/local/src目录下

cd /usr/local/src

tar zxvf inotify-tools-3.14.tar.gz  #解压

cd inotify-tools-3.14 #进入解压目录

./configure --prefix=/usr/local/inotify  #配置

make  #编译

make install  #安装 

3、设置系统遭遇变量,增加软连接

echo "PATH=/usr/local/inotify/bin:$PATH" >>/etc/profile.d/inotify.sh

source /etc/profile.d/inotify.sh  #使设置立即生效

echo "/usr/local/inotify/lib" >/etc/ld.so.conf.d/inotify.conf

ln -s /usr/local/inotify/include  /usr/include/inotify

4、改进inotify暗中认可参数(inotify默许内核参数值太小)

翻开系统默许参数值

sysctl -a | grep max_queued_events

结果是:fs.inotify.max_queued_events = 16384

sysctl -a | grep max_user_watches

结果是:fs.inotify.max_user_watches = 8192

sysctl -a | grep max_user_instances

结果是:fs.inotify.max_user_instances = 128

修改参数:

sysctl -w fs.inotify.max_queued_events="99999999"

sysctl -w fs.inotify.max_user_watches="99999999"

sysctl -w fs.inotify.max_user_instances="65535" 

参数表明:

max_queued_events:

inotify队列最大尺寸,借使值太小,会产出”** Event Queue Overflow
**”错误,导致监控文件不正确

max_user_watches:

要同盟的文书包涵多少目录,能够用:find /home/www.linuxidc.net -type d |
wc -l
总括,必需保险max_user_watches值大于总计结果(这里/home/www.linuxidc.net为一齐文件目录)

max_user_instances:

各种客商创造inotify实例最大值

5、创设脚本,实时触发rsync举办同步

vi /usr/local/inotify/rsync.sh  #编写制定,增加以下代码

#!/bin/sh

srcdir=/home/www.linuxidc.net/

dstdir=home_www.linuxidc.net

rsyncuser=home_www.linuxidc.net_user

rsyncpassdir=/etc/passwd.txt

dstip="192.168.21.128 192.168.21.127"

for ip in $dstip

do
  rsync -avH --port=873 --progress --delete  $srcdir $rsyncuser@$ip::$dstdir --password-file=$rsyncpassdir
done

/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move $srcdir |  while read file

do

for ip in $dstip

do

rsync -avH --port=873 --progress --delete  $srcdir $rsyncuser@$ip::$dstdir --password-file=$rsyncpassdir

echo "  ${file} was rsynced" >> /tmp/rsync.log 2>&1

done

done

chmod +x /usr/local/inotify/rsync.sh   #添加脚本执行权限

图片 3

srcdir=/home/www.linuxidc.net/  #源服务器同步目录

dstdir=home_www.linuxidc.net    #目标服务器rsync同步目录模块名称

rsyncuser=home_www.linuxidc.net_user  #目标服务器rsync同步用户名

rsyncpassdir=/etc/passwd.txt  #目标服务器rsync同步用户的密码在源服务器的存放路径

dstip="192.168.21.127 192.168.21.128"  #目标服务器ip,多个ip用空格分开

/tmp/rsync.log  #脚本运行日志记录

本子参数表明

6、设置脚本开机自动实行

vi /etc/rc.d/rc.local  #编辑,在最后添加一行

sh /usr/local/inotify/rsync.sh & #设置开机自动在后台运行脚本

:wq!  #保存退出

7、测量试验inotify实时触发rsync同步脚本是不是健康运维

在源服务器192.168.21.129上开创文件inotify_rsync_ceshi

mkdir /home/www.linuxidc.net/inotify_rsync_ceshi

重复开动力源服务器:192.168.21.129

等系统运行之后,查看两台指标服务器192.168.21.127,192.168.21.128的/home/www.linuxidc.net下是还是不是有inotify_rsync_ceshi文件夹

接下来再在源服务器192.168.21.129创建文件夹inotify_rsync_ceshi_new

mkdir /home/www.linuxidc.net/inotify_rsync_ceshi_new

气势磅礡查看两台目的服务器192.168.21.127,192.168.21.128的/home/www.linuxidc.net下是或不是有inotify_rsync_ceshi_new文件夹

假使以上测量试验都通过,表明inotify实时触发rsync同步脚本运营如常。

由来,Linux下Rubiconsync+Inotify-tools实现多少实时同步完毕。

举一反三阅读:

inotify参数

图片 4图片 5

-m 是保持一直监听

-r 是递归查看目录

-q 是打印出事件

-e create,move,delete,modify,attrib 是指 “监听 创建 移动 删除 写入 权限” 事件

 

inotify
参数表明

图片 6图片 7

-v, --verbose 详细模式输出

-q, --quiet 精简输出模式

-c, --checksum 打开校验开关,强制对文件传输进行校验

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD

-r, --recursive 对子目录以递归模式处理

-R, --relative 使用相对路径信息

-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。

--backup-dir 将备份文件(如~filename)存放在在目录下。

-suffix=SUFFIX 定义备份文件前缀

-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

-l, --links 保留软链结

-L, --copy-links 想对待常规文件一样处理软链结

--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结

--safe-links 忽略指向SRC路径目录树以外的链结

-H, --hard-links 保留硬链结

-p, --perms 保持文件权限

-o, --owner 保持文件属主信息

-g, --group 保持文件属组信息

-D, --devices 保持设备文件信息

-t, --times 保持文件时间信息

-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间

-n, --dry-run现实哪些文件将被传输

-W, --whole-file 拷贝文件,不进行增量检测

-x, --one-file-system 不要跨越文件系统边界

-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节

-e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步

--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息

-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件

--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件

--delete 删除那些DST中SRC没有的文件

--delete-excluded 同样删除接收端那些被该选项指定排除的文件

--delete-after 传输结束以后再删除

--ignore-errors 及时出现IO错误也进行删除

--max-delete=NUM 最多删除NUM个文件

--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输

--force 强制删除目录,即使不为空

--numeric-ids 不将数字的用户和组ID匹配为用户名和组名

--timeout=TIME IP超时时间,单位为秒

-I, --ignore-times 不跳过那些有同样的时间和长度的文件

--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间

--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0

-T --temp-dir=DIR 在DIR中创建临时文件

--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份

-P 等同于 --partial

--progress 显示备份过程

-z, --compress 对备份的文件在传输时进行压缩处理

--exclude=PATTERN 指定排除不需要传输的文件模式

--include=PATTERN 指定不排除而需要传输的文件模式

--exclude-from=FILE 排除FILE中指定模式的文件

--include-from=FILE 不排除FILE指定模式匹配的文件

--version 打印版本信息

--address 绑定到特定的地址

--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件

--port=PORT 指定其他的rsync服务端口

--blocking-io 对远程shell使用阻塞IO

-stats 给出某些文件的传输状态

--progress 在传输时现实传输过程

--log-format=formAT 指定日志文件格式

--password-file=FILE 从FILE中得到密码

--bwlimit=KBPS 限制I/O带宽,KBytes per second

-h, --help 显示帮助信息

rsync参数表达

五、 inotifywait相关参数 Inotifywait是一个监督等待事件,能够匹配shell脚本使用它,上边介绍一下常用的部分参数:
? -m, 即–monitor,表示一直维持事件监听状态。
? -r, 即–recursive,表示递归查询目录。
? -q, 即–quiet,表示打印出监察和控制事件。
? -e,
即–event,通过此参数能够钦赐要监督的平地风波,多管闲事的事件有modify、delete、create、attrib等。
更详细的请参照他事他说加以考查man  inotifywait。

不感到奇错误

问题一:

@ERROR: chroot failed

rsync error: error starting client-server
protocol (code 5) at main.c(1522) [receiver=3.0.3]

由来:服务器端的目录不设有或无权力。成立目录并修改权限可清除难题。

问题二:

@ERROR: auth failed on module tee

rsync error: error starting client-server
protocol (code 5) at main.c(1522) [receiver=3.0.3]

案由:服务器端该模块(tee)必要表明客户名密码,但客商端从未提供准确的顾客名密码,认证失败。提供不错的顾客名密码排除此主题材料。

问题三:

@ERROR: Unknown module
‘tee_nonexists’

rsync error: error starting client-server
protocol (code 5) at main.c(1522) [receiver=3.0.3]

缘由:服务器空头支票钦命模块。提供科学的模块名或在劳动器端校订成你要的模块以解决难题。

问题四:

password file must not be
other-accessible

continuing without password file

Password:

由来:那是因为rsyncd.pwd
rsyncd.secrets的权柄不对,应该安装为600。如:chmod 600 rsyncd.pwd

问题五:

rsync: failed to connect to 218.107.243.2: No route to host (113)

rsync error: error in socket IO (code 10) at clientserver.c(104)
[receiver=2.6.9]

原因:对方没开机、防火墙阻挡、通过的互连网上有防火墙阻挡,都有极大概率。关闭防火墙,其实正是把tcpudp的873端口开荒。

问题六:

rsync error: error starting client-server
protocol (code 5) at main.c(1524) [Receiver=3.0.7]

缘由:/etc/rsyncd.conf配置文件内容有错误。请正确核查配置文件。 

问题七:

rsync: chown “” failed: Invalid argument
(22)

缘由:权限无法复制。去掉同步权限的参数就可以。(这种景色多见于Linux向Windows的时候)

问题八:

@ERROR: daemon security issue — contact
admin
rsync error: error starting client-server
protocol (code 5) at main.c(1530) [sender=3.0.6]

由来:同步的目录里面有软连接文件,须求劳务器端的/etc/rsyncd.conf张开use
chroot = yes。拂过软连接文件。

奥德赛Sync完结文件备份同步详整 
 http://www.linuxidc.com/Linux/2014-09/106967.htm

应用inotifywait监察和控制主机文件和目录
http://www.linuxidc.com/Linux/2013-03/81075.htm

接受inotify+rsync达成Linux文件批量更新
http://www.linuxidc.com/Linux/2012-01/52132.htm

inotify-tools+rsync实时同步文件安装和铺排
http://www.linuxidc.com/Linux/2012-06/63624.htm

rsync同步完整配置
http://www.linuxidc.com/Linux/2013-06/85781.htm

CentOS 6.5下Wranglersync远程同步
http://www.linuxidc.com/Linux/2014-05/101084.htm

Linux文件夹相比较并领取的差分文件能力-rsync的妙用
http://www.linuxidc.com/Linux/2016-02/128307.htm

福睿斯sync
的详实介绍
:请点这里
Escortsync
的下载地址
:请点这里

正文恒久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137630.htm

图片 8

图片 9

相关文章