rsync+inotity

rsync默认端口:873
xinetd默认服务

inotify参数详解
inotifywait
-r:递归
-q:只打印事件
-m:始终监听事件
--excludei:排除
--timefmt:时间格式
--format:输出的格式
-e:监控的事件:
access:文件或目录被读
modify:文件或目录被修改
attrib:文件或目录属性被改变
close:文件或目录被关闭
open:文件或目录被打开
moved_to:文件或目录被移走
move:文件或目录被移动来
create:创建
delete:删除
umount:卸载

inotifywait --mrq -e create /backup    监控目录被create的事件

服务器端:
1.mkdir /cicro/src
1.上传rsync-3.1.1.tar.gz和inotify-tools-3.14.tar.gz到cicro/src文件夹下
2.tar -xzvf rsync-3.1.1.tar.gz
3.tar -xzvf inotify-tools-3.14.tar.gz
4.cd inotify-tools-3.14
5../configure --prefix=/usr/local/inotify
6.make
7.make install
cd /proc/sys/fs/inotify/
-rw-r--r-- 1 root root 0 Mar 31 21:06 max_queued_events        #限制文件
-rw-r--r-- 1 root root 0 Mar 31 21:06 max_user_instances
-rw-r--r-- 1 root root 0 Mar 31 21:06 max_user_watches

cd /usr/local/inotify/
mkdir conf
cd conf
vim inotfiy_list
/cicro/wcm
@/cicro/wcm/as/apache/logs
@/cicro/wcm/as/tomcat/logs
@/cicro/wcm/logs
@/cicro/wcm/license


9.cd ../rsync-3.1.1
10../configur --prefix=/usr/local/rsync
11.make
12.make install
mkdir /usr/local/rsync/{passwd,log,conf}
cd /usr/local/rsync/passwd/            #创建密码文件
echo "cicro123"    > passwd.conf            
chmod 600 passwd.conf
cd ../conf
vim exclude_list.conf
as/apache/logs/
as/tomcat/logs/
logs/
license/


脚本:
#!/bin/bash
#rsync+inotify

HOST=192.168.1.230
SRC=/cicro/wcm
DST=rsync
PASSWD=/usr/local/rsync/passwd/passwd.conf
INOTIFY_HOME=/usr/local/inotify
INOTIFY_EXCLUED=/usr/local/inotify/conf/inotfiy_list
RSYNC_HOME=/usr/local/rsync
RSYNC_EXCLUDE=/usr/local/rsync/conf/exclude_list.conf
USER=rsync

$INOTIFY_HOME/bin/inotifywait -mrq --exclude "(.log|.data)$" --fromfile $INOTIFY_EXCLUED --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,delete,create,attrib,moved_to,move $SRC | while read files
do
$RSYNC_HOME/bin/rsync -vzlHrtopg --delete --progress --password-file=$PASSWD --exclude-from $RSYNC_EXCLUDE $SRC $USER@$HOST::$DST
echo "${files} was rsynced" >>/$RSYNC_HOME/log/rsync.log 2>&1
done



客户端:
cd ../rsync-3.1.1
../configur --prefix=/usr/local/rsync
.make
.make install

cd /usr/local/rsync/
mkdir conf log passwd
cd conf

vim rsync.conf
uid = root
gid = root
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid  
lock file = /var/run/rsync.lock  
log file = /usr/local/rsync/log/rsyncd.log      #日志文件
[rsync]                        #对应服务器端的模式
path = /home                    #传过来文件所在位置
comment = web file
ignore errors
read only = no
write only = no
hosts allow = 192.168.2.233            #服务器ip
hosts deny = *
list = false
uid = root
gid = root
auth users = rsync                #默认用户
secrets file = /usr/local/rsync/passwd/passwd.conf    #密码文件

cd ../passwd
vim passwd.conf
rsync:cicro123
chmod 600 /usr/local/rsync/passwd/passwd.conf

/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/conf/rsync.conf     修改配置文件,需要写到开机脚本

service xinetd restart
chkconfig xinetd on

不需要发送的文件夹:
/cicro/wcm/as/apache/logs
/cicro/wcm/as/tomcat/logs
/cicro/wcm/logs
/cicro/wcm/license













你可能感兴趣的:(rsync)