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/
/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