1. 程式人生 > >CentOS6.6 rsync+inotify實現數據時時備份

CentOS6.6 rsync+inotify實現數據時時備份

centos6.6 rsync+inotify實現數據時時備份 linux

rsync+inotify實現數據時時備份

註意:rsyncdaemon模式已提前配置好了,只需要配置inotify即可

  • 基本環境

系統版本

主機名

IP地址

角色

備份/監控目錄

CentOS 6.6

backup

10.0.0.10

rsync服務端

/backup

CentOS 6.6

nfs-server

10.0.0.7

rsync客戶端

/data

  • inotify安裝配置

  • 查看系統是否支持inotify,顯示以下三個文件表示支持

[[email protected] tools]# ls -l/proc/sys/fs/inotify/

total 0

-rw-r--r-- 1 root root 0 May 16 19:44max_queued_events

-rw-r--r-- 1 root root 0 May 16 19:44max_user_instances

-rw-r--r-- 1 root root 0 May 16 19:44max_user_watches

  1. 下載inotify工具包並解壓安裝

[[email protected] tools]# wget--no-check-certificate https://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

[[email protected] tools]# tar-zxvf inotify-tools-3.14.tar.gz

[[email protected] tools]# cdinotify-tools-3.14

[[email protected]]# ./configure --prefix=/usr/local/inotify-tools-3.14

[[email protected]]# make && make install

[[email protected] inotify-tools-3.14]#ln -s /usr/local/inotify-tools-3.14/ /usr/local/inotify-tools

工具集介紹

[[email protected]

/* */]# ls /usr/local/inotify-tools/bin

inotifywait inotifywatch

一共安裝了2個工具(命令),即inotifywaitinotifywatch

inotifywait:在被監控的文件或目錄上等待特定文件系統事件(openclosedelete等)發生,執行後處於阻塞狀態,適合在shell腳本中使用。

inotifywatch:收集被監視的文件系統使用度統計數據,指文件系統事件發生的次數統計。

  1. 監控本地/data目錄

[[email protected] /]#/usr/local/inotify-tools/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘--format ‘%T %w%f‘ -e create,close_write,delete /data

create:監控創建文件

close_write:監控修改文件

delete:監控刪除文件

  1. inotify監控nfs-server/data目錄,然後調用rsync時時備份到backup主機的/backup目錄,並寫成腳本完成

#!/bin/bash

##############################backupscripts#######################

#author wangning

#qq 1198143315

#date 2017-6-9

#E-mail [email protected]

inotify=/usr/local/inotify-tools/bin/inotifywait

$inotify -mrq --format ‘%w%f‘ -e create,close_write,delete/data \

|while read file

do

cd / &&

rsync -az ./data/ [email protected]::backup/ \

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

done

  • 關鍵參數說明

  • /proc/sys/fs/inotify/目錄下有三個文件,對inotify機制有一定的限制

max_user_watches:設置inotifywaitinotifywatch命令可以監視的文件數量(單進程)

max_user_instances:設置每個用戶可以運行的inotifywaitinotifywatch命令的進程數

max_queued_events:設置inotify實例事件(event)隊列可容納的事件數量

  1. 工作中如果參數不夠用,可以調大一些

[[email protected] scripts]# echo"50000000" >/proc/sys/fs/inotify/max_user_watches

[[email protected] scripts]# echo"50000000" >/proc/sys/fs/inotify/max_queued_events


本文出自 “飛奔的駱駝” 博客,請務必保留此出處http://wn2100.blog.51cto.com/9915310/1941573

CentOS6.6 rsync+inotify實現數據時時備份