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

[root@ftp ~]# wget

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/

DST=root@192.168.1.3::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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e8ff3808bf602cae3e2abd5ef0fdfb89.html