rsync+inotify目錄文件實時同步備份

說明:

192.168.1.2 (rsync+inotify)-----------FTP

192.168.1.3 (rsync)---------------------backup

實驗目的:

實時自動同步:192.168.1.2 ------->192.168.1.3到目錄:/data/ftpdata ;

 

一、FTP服務器(rsync+inotify)

1、準備軟件包

[root@ftp ~]# mkdir /data/ftpdata

[root@ftp ~]# wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz

[root@ftp ~]# wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

 

2、安裝Rsync

[root@ftp ~]# tar -zxvf rsync-3.0.9.tar.gz

[root@ftp ~]# cd rsync-3.0.9

[root@ftp rsync-3.0.9]# ./configure --prefix=/usr/local/rsync

[root@ftp rsync-3.0.9]# make;make install

 

建立密碼認證文件

[root@ftp ~]# echo "111111">/etc/rsyncd.secrets

[root@ftp ~]# less /etc/rsyncd.secrets 

111111

*其中111111可以自己設置密碼,rsyncd.secrets名字也可以自己設置;

權限:要將/etc/rsyncd.secrets設置爲root擁有且權限爲600

[root@ftp ~]# chmod 600 /etc/rsyncd.secrets

[root@ftp ~]# ll /etc/rsyncd.secrets

-rw------- 1 root root 7 Jun9 21:24 /etc/rsyncd.secrets

 

3、安裝inotify

[root@ftp ~]# tar -zxvf inotify-tools-3.14.tar.gz 

[root@ftp ~]# cd inotify-tools-3.14

[root@ftp inotify-tools-3.14]# ./configure --prefix=/usr/local/inotify

[root@ftp inotify-tools-3.14]# make;make install

 

4、創建rsync複製腳本

此項功能主要是將ftp端的目錄/data/ftpdata裏的內容,如果修改了(無論是添加、修改、刪除文件)能夠通過inotify監控到,並通過rsync實時的同步給backup/data/ftpdata裏,下面是通過shell腳本實現的。

[root@ftp ~]# vim /opt/rsync.sh

#!/bin/bash

SRC=/data/ftpdata/

[email protected]::ftpdata

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

read files

do

/usr/bin/rsync -vzrtopg --delete --password-file=/etc/rsyncd.secrets$SRC $DST> /dev/null

done

:wq

[root@ftp ~]# chmod u+x /opt/rsync.sh

 

rsync.sh腳本加入開機啓動項

[root@ftp ~]# echo "/opt/rsync.sh" >> /etc/rc.local

 

防火牆開啓rsync端口:873

[root@ftp ~]# vim /etc/sysconfig/iptables

添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -jACCEPT

重啓:

[root@ftp ~]# /etc/init.d/iptables restart

二、備份服務器(rsync)

1、準備工作

創建備份目錄:

[root@backup ~]# mkdir /data/ftpdata

 

2、準備軟件包

[root@backup ~]# wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz

 

3、安裝rsync(備份服務器只安裝rsync

[root@backup ~]# tar -zxvf rsync-3.0.9.tar.gz 

[root@backup ~]# cd rsync-3.0.9

[root@backup rsync-3.0.9]# ./configure --prefix=/usr/local/rsync

[root@backup rsync-3.0.9]# make;make install

 

4、建立用戶與密碼認證文件

[root@backup ~]# echo "root:111111" > /etc/rsyncd.secrets

[root@backup ~]# less /etc/rsyncd.secrets

root:111111 

注意:

請記住,在ftp端建立的密碼文件,只有密碼,沒有用戶名;而在備份服務端backup裏建立的密碼文件,用戶名與密碼都有。

權限:要將/etc/rsyncd.secrets設置爲root擁有且權限爲600

[root@backup ~]#chmod 600 /etc/rsyncd.secrets

 

5、建立rsync配置文件

[root@backup ~]# vim /etc/rsyncd.conf

uid = root

gid = root

port = 873

use chroot = yes

read only = yes

hosts allow=192.168.1.0/255.255.255.0

hosts deny=*

max connections = 5

log file =/var/log/rsyncd.log

pid file =/var/run/rsyncd.pid

lock file =/var/run/rsyncd.lock

log format = %t %a %m %f%b

syslog facility = local3

timeout = 300

 

[ftpdata]

path = /data/ftpdata

list = no

read only = no

ignore errors

auth users = root

secrets file =/etc/rsyncd.secrets

:wq

 

啓動rsync服務

[root@backup ~]# /usr/local/rsync/bin/rsync --daemon--config=/etc/rsyncd.conf

[root@backup ~]# ps -ef |grep rsync

 

Rsync服務加入開機啓動項

[root@backup ~]# echo "/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.local

 

防火牆開啓rsync端口:873

[root@backup ~]# vim /etc/sysconfig/iptables

添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -jACCEPT

 

重啓:

[root@backup ~]# /etc/init.d/iptables restart

 

現在rsyncinotifyftp端安裝完成,rsync在備份服務器backup端也安裝完成!

 

重啓

[root@ftp ~]# reboot

[root@backup ~]# reboot

 

三、測試驗證

1、在ftp/data/ftpdata 目錄上創建一個文件夾:

[root@ftp ftpdata]# mkdir zl

 

2、在backup端查看/data/ftpdata目錄是否相同;

[root@backup ~]# ll /data/ftpdata/

 

四、備份與恢復

1、手動備份

192.168.1.2---------->192.168.1.3 

[root@ftp ~]# /usr/bin/rsync -vzrtopg --delete--password-file=/etc/rsyncd.secrets /data/ftpdata/ [email protected]::ftpdata

 

2、手動恢復

192.168.1.3 ---------->192.168.1.2

[root@ftp ~]# /usr/bin/rsync -vzrtopg --delete--password-file=/etc/rsyncd.secrets [email protected]::ftpdata /data/ftpdata/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章