全网备份+NFS存储+单点实时同步.docx

目  录

老男孩教育 linux 运维就业班第八和九关(周)课后学习效果能力上机大考察... 1

1.1 逻辑图... 1

1.2 50 台集群服务器全网数据备份解决方案... 1

1.2.1 一、搭建rsync备份服务器... 3

1.2.2 二、web01本地测试... 7

1.2.3 web01本地脚本... 7

1.2.4 本地定时任务... 8

1.2.5 backup服务器上脚本... 8

1.2.6 backup定时任务... 8

1.3 网站集群后端 NFS 共享存储搭建及优化解决方案... 9

1.3.1 实战... 9

1.4 解决网站集群后端 NFS 共享存储单点实现实时数据同步... 13

1.4.1 实战... 13

1.4.2 配置nfs和backup服务器实时同步(rsync+inotify)... 13

1.4.3 Rsync脚本配置变动... 13

1.4.4 部署inotify. 14

老男孩教育linux 运维就业班第八和九关(周)课后学习效果能力上机大考察

(我们不生产企业项目方案,我们只是企业项目方案的搬运工)

(共 3 道题,每题 33.3 分共 100 分)

1)16:00 开考,闭卷考察时间 90 分钟!务必还原快照,模拟企业工作中搭建环境。

2)交卷时间 17:30 分钟,保留环境,举手找到技术班主任、或指定导师检查后记录成绩。

3)考试完毕后整个部署过程需要记录笔记提交作业保留。

1.1 逻辑图

1.2  50 台集群服务器全网数据备份解决方案

1、基本备份要求

已知 3 台服务器主机名分别为 A(web01)、B(backup) 、C(nfs01)

要求:每天晚上 00 点整在 Web 服务器 A 上打包备份系统配置文件、网站程序目录及访

问日志并通过 rsync 命令推送备份服务器 B 上备份保留(备份思路可以是先在本地按日期 打包,然后再推到备份服务器 B 上)。

具体要求如下:

1)Web 服务器 A 和备份服务器 B 的备份目录必须都为/backup。

2)要备份的系统配置文件包括但不

a.定时任务服务的配置文件(/var/spool/cron/root)。

b.开机自启动的配置文件(/etc/rc.local)。

c.日常脚本的目录  (/server/scripts)。

d.防火墙 iptables 的配置文件(/etc/sysconfig/iptables)。

e.自己思考下还有什么需要备份呢?

3)Web 服务器站点目录假定为(/var/html/www)。

4)Web 服务器 A 访问日志路径假定为(/app/logs)

5)Web 服务器保留打包后的 7 天的备份数据即可(本地留存不能多于 7 天,因为太多硬盘会 满)

6)备份服务器 B 上,保留每周一的所有数据副本,其它要保留 6 个月的数据副本。

7)备份服务器 B 上要按照备份数据服务器的 IP 为目录保存备份,备份的文件按照时间名字 保存。

特别提示:本题在工作中是网站生产环境全网备份项目方案的一个小型模拟,很有意义。

2、本项目的整个备份逻辑结构如下图:

特别说明:

1)工作中领导很可能不会告诉你如何去做,只会提需求,例如:小崔,WEB 服务器很重要,请你把数据在别的服务器备份一份(定期的备份)。

2)逻辑架构图更不可能是领导给你画,而是你理解了领导的意思,然后自己想出备份的方 案,最后,在实施前你做的一个图纸而已。

3、需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果

信息发给系统管理员邮箱中。

1.2.1  一、搭建rsync备份服务器

在backup服务器上操作(服务端)

1、检查rsync是否安装

[[email protected] ~]# rpm -qa rsync

rsync-3.0.6-12.el6.x86_64

2、创建用户rsync

[[email protected] ~]# useradd rsync -s /sbin/nologin –M

[[email protected] ~]# id rsync

uid=501(rsync) gid=501(rsync) 组=501(rsync)

3、创建/etc/rsyncd.conf

[[email protected] backup]# cat /etc/rsyncd.conf

#!/bin/sh

uid = rsync

gid = rsync

userchroot = no

read only = false

[backup]

path = /backup

auth users = rsync_backup

secrets file = /etc/rsync.password

完整配置文件

##rsyncd.conf start##

uid=rsync                                            #配置uid

gid=rsync                                            #配置gid

use chroot = no                                      #安全机制,可不配

max connections = 200                                #最大连接数

timeout = 300                                        #超时时间

pid file = /var/run/rsyncd.pid                       #pid文件

lock file = /var/run/rsync.lock                      #锁文件

log file = /var/log/rsyncd.log                       #日志文件

[backup]                                             #模块名

path = /backup                                       #路径

ignore errors                                        #忽略错误

read only = false                                    #可写

list = false                                         #不允许列表

hosts allow = 10.0.0.0/24                            #允许主机

hosts deny = 0.0.0.0/32                              #拒绝主机

auth users = rsync_backup                            #用户名

secrets file = /etc/rsync.password                   #密码文件

4、创建/backup/目录并授权权限

[[email protected] ~]# mkdir /backup/

[[email protected] ~]# chown -R rsync.rsync /backup/

[[email protected] ~]# ls -ld /backup/

drwxr-xr-x 2 rsync rsync 4096 6月   1 12:42 /backup/

5、设置用户名和密码文件/etc/rsync.password

[[email protected] ~]# echo
"rsync_backup:oldboy" >/etc/rsync.password

[[email protected] ~]# chmod 600 /etc/rsync.password

[[email protected] ~]# ll /etc/rsync.password

-rw------- 1 root root 20 6月   1 12:43 /etc/rsync.password

[[email protected] ~]# cat /etc/rsync.password

rsync_backup:oldboy

6、启动rsync服务

[[email protected] ~]# rsync --daemon

[[email protected] ~]# lsof -i :873

COMMAND  PID USER   FD  
TYPE DEVICE SIZE/OFF NODE NAME

rsync   1962 root   
3u  IPv4  12587      0t0  TCP *:rsync
(LISTEN)

rsync   1962 root   
5u  IPv6  12588      0t0  TCP *:rsync
(LISTEN)

在web01上做操作(客户端)

1、创建/backup/目录

[[email protected] ~]# mkdir /backup

[[email protected] ~]# ls -ld /backup/

drwxr-xr-x 2 root root 4096 6月   1 12:46 /backup/

2、创建密码文件/etc/rsync.password

[[email protected] ~]# echo "oldboy"
>/etc/rsync.password

[[email protected] ~]# cat /etc/rsync.password

oldboy

3、给rsync.password密码文件授于600权限

[[email protected] ~]# chmod 600 /etc/rsync.password

[[email protected] ~]# ll /etc/rsync.password

-rw------- 1 root root 7 6月   1 12:46 /etc/rsync.password

4、使用rsync进行推拉数据

推:

[[email protected] ~]# cd /backup/

[[email protected] backup]# ls

[[email protected] backup]# touch {a..z}

[[email protected] backup]# ls

a  b  c  d  e  f 
g  h  i  j  k  l  m  n  o  p 
q  r  s  t  u  v  w  x  y  z

[[email protected] backup]# rsync -avz /backup/
[email protected]::backup --password-file=/etc/rsync.password

sending incremental file list

./

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

sent 1121 bytes  received 505 bytes 
3252.00 bytes/sec

total size is 0  speedup is 0.00

拉:

[[email protected] backup]# rsync -avz
[email protected]::backup /backup/
--password-file=/etc/rsync.password

receiving incremental file list

./

1

10

2

3

4

5

6

7

8

9

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

sent 751 bytes  received 1724 bytes 
4950.00 bytes/sec

total size is 0  speedup is 0.00

[[email protected] backup]# ls

1  10  2  3  4  5 
6  7  8  9  a  b  c  d  e  f 
g  h  i  j  k  l  m  n  o  p 
q  r  s  t  u  v  w  x  y  z

1.2.2 二、web01本地测试

[[email protected] backup]# cd /

[[email protected] /]# mkdir /var/html/www/ -p

[[email protected] /]# mkdir /app/logs -p

[[email protected] /]# touch /var/html/www/html{1..10}.log

[[email protected] /]# touch /app/logs/java{a..h}.txt

[[email protected] /]# tar zcfh /backup/conf_$(date
+%F).tar.gz etc/rc.local etc/sysconfig/iptables  var/spool/cron/root

[[email protected] /]# ls /backup/

conf_2016-06-01.tar.gz

[[email protected] /]# tar zcf /backup/log_$(date
+%F).tar.gz var/html/www/ app/logs/

[[email protected] /]# ls /backup/

conf_2016-06-01.tar.gz  log_2016-06-01.tar.gz

[[email protected] /]# tar zcf /backup/sh_$(date
+%F).tar.gz server/scirpts/

[[email protected] /]# ls /backup/

conf_2016-06-01.tar.gz 
log_2016-06-01.tar.gz  sh_2016-06-01.tar.gz

1.2.3 web01本地脚本

[[email protected] scirpts]# cat
bak.sh

#!/bin/sh

LANG=en

if [ `date +%w` -eq 1 ];then

DATE="$(date +%F)_mon"

else

DATE=$(date +%F)

fi

IP=$(ifconfig eth0|awk -F "[ :]+"
‘NR==2{print $4}‘)

Path="/backup/$IP"

[ ! -d $Path ] && mkdir $Path -p

#tar

cd / &&\

tar zcfh $Path/conf_${DATE}.tar.gz etc/rc.local
etc/sysconfig/iptables  var/spool/cron/root

tar zcf $Path/log_${DATE}.tar.gz var/html/www/
app/logs/

tar zcf $Path/sh_${DATE}.tar.gz server/scirpts/

#flag

find /backup/ -type f -name
"*.tar.gz"|xargs md5sum >$Path/flag_${DATE}_${IP}

#rsync

rsync -avz /backup/
[email protected]::backup --password-file=/etc/rsync.password

#del before 7day

find $Path/ -type f -name "*.tar.gz"
-mtime +7|xargs rm -f

1.2.4 本地定时任务

[[email protected] scirpts]# crontab -l

#bak to 41

00 00 * * * /bin/sh /server/scirpts/bak.sh
>/dev/null 2>&1

1.2.5 backup服务器上脚本

cat check.sh

#!/bin/sh

find /backup/ -type f -name
"flag*"|xargs md5sum -c >/opt/flag_mail_$(date +%F).txt

mail -s "web服务器备份$(date
+%F) to 王凯" [email protected]
</opt/flag_mail_$(date +%F).txt

find /backup/ -type f ! -name
"*_mon.tar.gz" -mtime +180|xargs rm -f

配置/etc/mail.rc,切换到最后,插入如下内容:

set [email protected] smtp=smtp.163.com
smtp-auth-user=wangkaiok30 smtp-auth-password=wk123 smtp-auth=login

1.2.6 backup定时任务

[[email protected] scirpts]# crontab -l

#mail

00 08 * * * /bin/sh /server/scirpts/check.sh
>/dev/null 2>&1

1.3  网站集群后端NFS 共享存储搭建及优化解决方案

1、配置 NFS 服务:

要求:

1)在 NFS 服务端 C(nfs01)上共享/data/w_shared
及/data/r_shared 两个文件目录,允许从 NFS

客户端 A(web01)、B(backup)上分别挂载共享目录后可实现从A(web01)、B(backup)上只读

/data/r_shared,可写/data/w_shared。

2)NFS 客户端 A(web01)上的挂载点为/data/b_w(写),/data/b_r(读),

NFS 客户端 B(backup)上的挂载点为/data/w_你的名字英文(写) ,/data/r_你名字英文

(读)。

3)从 NFS 客户端 B(backup)上的 NFS 可写挂载点目录创建任意文件,从NFS 客户端 A(web01)

上可以删除这个创建的文件,反之也可以。

4)问答题:如何优化 NFS 服务?

2、本项目的整个备份逻辑结构如下图(红色虚线部分):

1.3.1 实战

#1、安装软件

yum install  nfs-utils rpcbind -y

rpm -qa nfs-utils rpcbind

#2、启动服务(注意先后顺序)

/etc/init.d/rpcbind start

rpcinfo -p localhost

/etc/init.d/nfs start

rpcinfo -p localhost

#3、设置开机自启动

chkconfig nfs on

chkconfig rpcbind on

#4、配置nfs服务

[[email protected] data]# mkdir /data/w_shared -p

[[email protected] data]# mkdir /data/r_shared -p

[[email protected] data]# ls

r_shared  w_shared

cat >>/etc/exports <<EOF

####/data/w_shared

/data/w_shared 172.16.1.0/24(rw,sync)

####/data/r_shared

/data/r_shared 172.16.1.0/24(ro,sync)

EOF

#(查看nfs默认使用的用户以及共享的参数cat /var/lib/nfs/etab)

chown -R nfsnobody.nfsnobody /data/

ls -ld /data/

#5、重新加载服务(优雅重启)

/etc/init.d/nfs reload  =====exportfs -r

#6、检查或测试挂载

showmount -e localhost

####客户端(nfs)

#1、安装软件

yum install  nfs-utils rpcbind -y

rpm -qa nfs-utils rpcbind

#2、启动rpcbind

/etc/init.d/rpcbind start

#3、配置开机自启动

chkconfig rpcbind on

#4、测试服务端共享情况

showmount -e 172.16.1.31

#5、挂载

[[email protected] /]# mkdir /data/w_wangkai -p

[[email protected] /]# mkdir /data/r_wangkai -p

[[email protected] /]# ls /data/

r_wangkai  w_wangkai

[[email protected] /]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data/r_shared 172.16.1.0/24

/data/w_shared 172.16.1.0/24

[[email protected] /]# mount -t nfs
172.16.1.31:/data/w_shared /data/w_wangkai/

[[email protected] /]# mount -t nfs 172.16.1.31:/data/r_shared
/data/r_wangkai/

[[email protected] /]# df -h

Filesystem           
Size  Used Avail Use% Mounted on

/dev/sda3            
8.6G  1.5G  6.8G  18% /

tmpfs                
242M     0  242M   0% /dev/shm

/dev/sda1            
190M   36M  145M  20% /boot

172.16.1.31:/data/w_shared

8.6G  1.5G  6.8G  18% /data/w_wangkai

172.16.1.31:/data/r_shared

8.6G  1.5G  6.8G  18% /data/r_wangkai

#6、backup测试读,写

[[email protected] data]# cd r_wangkai/

[[email protected] r_wangkai]# ls

oldboy  oldgirl20  oldgirl21 
oldgirl22  oldgirl23  oldgirl24  oldgirl25  oldgirl26 
oldgirl27  oldgirl28  oldgirl29  oldgirl30

[[email protected] r_wangkai]# rm -f oldgirl*

rm: 无法删除"oldgirl20":
只读文件系统

rm: 无法删除"oldgirl21":
只读文件系统

rm: 无法删除"oldgirl22":
只读文件系统

rm: 无法删除"oldgirl23":
只读文件系统

rm: 无法删除"oldgirl24":
只读文件系统

rm: 无法删除"oldgirl25":
只读文件系统

rm: 无法删除"oldgirl26":
只读文件系统

rm: 无法删除"oldgirl27":
只读文件系统

rm: 无法删除"oldgirl28":
只读文件系统

rm: 无法删除"oldgirl29":
只读文件系统

rm: 无法删除"oldgirl30":
只读文件系统

[[email protected] r_wangkai]# cd ..

[[email protected] data]# cd

r_wangkai/ w_wangkai/

[[email protected] data]# cd w_wangkai/

[[email protected] w_wangkai]# ls

l  u  v  w  x  y  z

[[email protected] w_wangkai]# touch {1..10}

[[email protected] w_wangkai]# ls

1    10  2  3  4  5  6  7  8 
9  l  u  v  w  x  y  z

####Web01测试读,写

[[email protected] b_r]# ls

oldboy  oldgirl20  oldgirl21 
oldgirl22  oldgirl23  oldgirl24  oldgirl25  oldgirl26 
oldgirl27  oldgirl28  oldgirl29  oldgirl30

[[email protected] b_r]# rm -f oldgirl*

rm: 无法删除"oldgirl20":
只读文件系统

rm: 无法删除"oldgirl21":
只读文件系统

rm: 无法删除"oldgirl22":
只读文件系统

rm: 无法删除"oldgirl23":
只读文件系统

rm: 无法删除"oldgirl24":
只读文件系统

rm: 无法删除"oldgirl25":
只读文件系统

rm: 无法删除"oldgirl26":
只读文件系统

rm: 无法删除"oldgirl27":
只读文件系统

rm: 无法删除"oldgirl28":
只读文件系统

rm: 无法删除"oldgirl29":
只读文件系统

rm: 无法删除"oldgirl30":
只读文件系统

[[email protected] b_r]# cd ..

[[email protected] data]# ls

b_r  b_w

[[email protected] data]# cd b_w/

[[email protected] b_w]# ls

1  10  2  3  4  5 
6  7  8  9  l  u  v  w  x  y 
z

[[email protected] b_w]# rm -f {4..9}

[[email protected] b_w]# ls

1  10  2  3  l  u 
v  w  x  y  z

1.4  解决网站集群后端NFS 共享存储单点实现实时数据同步

1、实时数据同步要求:

当用户通过  web  服务器将数据写入到  NFS  服务器  C(nfs01)时,同时复制到备份服务器

B(backup)

2、逻辑图如下:

1.4.1 实战

1.4.2 配置nfs和backup服务器实时同步(rsync+inotify)

1.4.3 Rsync脚本配置变动

[[email protected] backup]# cat /etc/rsyncd.conf

##rsyncd.conf start##

uid=rsync

gid=rsync

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors

read only = false

list = false

hosts allow = 10.0.0.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]

comment = "backup by
wangkai"

path = /backup

[data]

path = /data

1.4.4 部署inotify

#1、使用EPEL yum源(也可编译安装)

wget -O /etc/yum.repos.d/epel.repo
http://mirrors.aliyun.com/repo/epel-6.repo

#2、安装inotify-tools安装包

yum install inotify-tools -y

#3、监控测试

inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘
--format ‘%T %w%f‘ -e close_write,delete /backup

#4、写脚本进行监控

[[email protected] scripts]# cat inotify_data.sh

#!/bin/sh

/usr/bin/inotifywait -mrq --format ‘%w%f‘ -e create,close_write,delete
/data \

|while read file

do

cd /data &&

rsync -az /data/ --delete
[email protected]::data \

--password-file=/etc/rsync.password

done

现backup变换角色,需先把挂载点卸载掉

最后测试结果

用户写入数据,先写加web01的/data/目录中,由web01通过nfs文件系统,从而到达nfs中的/data/目录,然后nfs和backup服务器做实时同步,使数据到达backup服务器的/data目录中。Rsync做了多个模块的实例。

[[email protected] b_w]# touch yonghu{1..10}

[[email protected] b_w]# ls

yonghu1  yonghu10  yonghu2 
yonghu3  yonghu4  yonghu5  yonghu6  yonghu7 
yonghu8  yonghu9

[[email protected] w_shared]# ls

yonghu1  yonghu10  yonghu2 
yonghu3  yonghu4  yonghu5  yonghu6  yonghu7 
yonghu8  yonghu9

[[email protected] w_shared]# ls

yonghu1  yonghu10  yonghu2 
yonghu3  yonghu4  yonghu5  yonghu6  yonghu7 
yonghu8  yonghu9

来自为知笔记(Wiz)

附件列表

原文地址:https://www.cnblogs.com/wangkaiok/p/8159221.html

时间: 2024-09-29 22:59:18

全网备份+NFS存储+单点实时同步.docx的相关文章

nfs存储服务实时同步

1.NFS简介 NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过网络共享资源.将NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端端看起来,就像访问本地文件一样. RPC,基于C/S模型.程序可以使用这个协议请求网络中另一台计算机上某程序的服务而不需知道网络细节,甚至可以请求对方的系统调用. 对于Linux而言,文件系统是在内核空间实现的,即文件系统比如ext3.ext4等是在Kern

Rsync + sersync 实时同步备份

Rsync + sersync 实时同步备份 一      Rsync + Sersync  实时同步介绍 1.Rsync 服务搭建介绍 云机上搭建Rsync server,在本地搭建Rsync Clinet. 2. Sersync 服务搭建介绍 在本地服务器上搭建 Sersync  Server  检测本地的ftp目录变化,实时同步到云机上 二.Rsync编译安装 1.检查本机是否存在 [[email protected]云机 ~]# rpm -qa  rsync rsync-3.0.6-12

5、Sersync实时同步实战

1.实时同步概述 1.什么是实时同步, 只要当前目录发生变化则会触发一个事件,事件触发后将变化的目录同步至远程服务器. 2.为什么要实时同步, 保证数据的连续性, 减少人力维护成本, 解决nfs单点故障 3.实时同步实现原理, 实时同步需要借助 Inotify通知接口,用来监控目录的变化,如果监控的目录发生变更.则触发动作,这个动作可以是进行一次同步操作,或其他操作. 4.实时同步工具选择, 有sersync(√).inotify+rsync,通常我们会选择 sersync,因为 sersync

5)NFS存储实时复制原理

项目案例: 1.sudo集权分治的权限管理及命令行日志审计 2.全网数据备份解决方案 3.共享存储实时备份(共享存储的单点解决方案) 第一个里程碑: 1)实现从NFS客户端到rsync服务端的rsync服务部署. 第二个里程碑: 1)实现从NFS客户端对NFS目录文件系统事件的实时监控. 第三个里程碑: 1)当监控到NFS目录文件系统事件变化后,触发rsync推送变化文件. #!/bin/bash /usr/bin/inotifywait -mrq --format '%w%f' -e clos

Linux服务器集群架构部署搭建(三)NFS文件系统、SSH、批量分发管理、实时同步(2)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第四章 部署配置inotfiy+rsync实时同步 4.1 实时同步inotfiy+rsync的操作步骤 ①备份服务器[email protected]运行rsync进程作为rsync的服务端.NFS作为rsync的客户端. ②在备份服务器安装并正常启动rsync进程服务.并设置修改配置文件.实现远程拉取.推送备份. ③在客户端N

实时同步备份的部署

第1章 企业实时同步备份服务部署-inotify 1.1 inotify是什么? inotify是一种强大的,细粒度的.异步文件系统监控机制,通过inotify可以监控文件系统中添加/删除/修改/移动等各种事件,inotify-tools正是实施这样监控的软件 sersync就是在inotify基础上强化了一些功能,比如重试机制,过滤机制,提供接口做CDN 1.2 linux内核从2.16.13起才支持inotify /proc/sys/fs/inotify    系统默认的目录下有三个文件,对

sersync 配合rsync实时同步备份

sersync 配合rsync实时同步备份 sersync是基于Inotify开发的,类似于Inotify-tools的工具,基本上Inotify能实现的功能,sersync也具备,因此,sersync 也可以实时监听目录中发生变化的(包括增加.删除.修改) sersync 配合rsync实时同步备份 1. sersync 介绍 2. 部署rsync daemon 3. 安装sersync sersync 配合rsync实时同步备份 1. sersync 介绍 sersync是基于Inotify

inotify介绍及rsync + inotify 实时同步备份

1.前言 rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计划来执行自动备份,又可以结合ssh实现远程数据备份的安全,种种特性使他看起来相当优秀.但如果需备份数据十分庞大时,它的不足之处就显现出来了,比如每次执行同步操作时,rsync都会扫描全部数据进而计算出增量部分,而后再同步增量数据,这将会十分耗时,使其变得低效:并且受限于crond计划任务最小时间间隔

实战:配置rsync+inotify实现实时同步备份

实战:配置rsync+inotify实现实时同步 Linux内核从2.6.13版本开始提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动等.利用这一机制,可以非常方便地实现文件异动告警.增量备份,并针对目录或文件的变化及时作出响应. 使用rsync工具与inotify机制相结合,可以实现触发式备份(实时同步),只要原始位置的文档发生变化,则立即启动增量备份操作,否则处于静态等侍状态,这样一来,就避免了按固定周期备份进存在的延迟性.周期过密等问题. inotify