1、linux文件同步(rsync): 单向
服务端:
(1) yum -y xinetd.d rsync
(2) vi /etc/xinetd.d/rsync
disable = no // 默认已no
(3) chkconfig rsync on
service xinetd start
(4)vi /etc/rsync_users
ruser:123456
(6) chmod 600 /etc/rsync_users
(7) vi /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = yes
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
[tools]
path = /usr/src
comment = Rsync share test
auth users = ruser
secrets file = /etc/rsync_users
read only = yes
(8) service xinetd restart
(9) iptables -I INPUT -p tcp --dport 873 -j ACCEPT
service iptables save
客户端:
(1) yum -y xinetd.d rsync
(2) rsync ruser@192.168.1.19::tools
(3) vi /root/rsync_pass
123456
(4) chmod 600 /root/rsync_pass
(5) rsync -az --password-file=/root/rsync_pass ruser@192.168.1.19::tools /rsync
rsync -az --password-file=/root/rsync_pass ruser@192.168.1.19:tools /rsync
(6) crotab -e
*/1 * * * * /usr/bin/rsync -a --password-file=/root/rsync_pass ruser@192.168.1.19::tools /rsync
2、实时同步
(1) yum -y install gcc autoconf automake make
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify
make
make install
(2) 脚本
#!/bin/bash
inotifywait -mrq -e modify,delete,create,attrib /home/rsync/test/ | while read D E F
do
rsync -ahqzt --delete /home/rsync/test/ rsync@192.168.1.19:/home/rsync/test/
rsync -ahqzt --delete /home/rsync/test/ rsync@192.168.1.17:/home/rsync/test/
done
3、实时同步2
服务端(mcctv-232/mcctv-233):
(1) yum -y install rsync
(2) vi /etc/rsyncd.conf
uid = root
gid = root
address = 192.168.1.233
use chroot = no
read only = no
max connections = 512
log file = /var/log/rsyncd.log
log format = %t %a %m %f %b
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
[web]
path=/var/work/www
list = yes
ignore errors = yes
hosts allow = 192.168.1.199
hosts deny = *
(3) rsync --daemon --config=/etc/rsyncd.conf
echo "rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.local
(4) /sbin/iptables -A INPUT -s 192.168.1.199 -p tcp --dport 873 -j ACCEPT
service iptables save
客户端(mcctv-199):
(1) yum -y install rsync
(2) rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install inotify-tools –enablerepo=epel
(3) vi /var/work/inotify-rsync.sh
#!/usr/bin/env bash
set -e
src=/var/work/www/apkservice
web01=192.168.1.233
web02=192.168.1.232
web02=192.168.1.234
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files
do
/usr/bin/rsync -vzrtopg --exclude-from='/var/work/exclude.list' --delete --progress $src $web01::web/ >> /var/log/rsync.log
/usr/bin/rsync -vzrtopg --exclude-from='/var/work/exclude.list' --delete --progress $src $web02::web/ >> /var/log/rsync.log
/usr/bin/rsync -vzrtopg --exclude-from='/var/work/exclude.list' --delete --progress $src $web03::web/ >> /var/log/rsync.log
done
(4) chmod 755 /var/work/inotify-rsync.sh
(5) /var/work/inotify-rsync.sh&
(6) echo "/var/work/inotify-rsync.sh&" >> /etc/rc.local
服务端:
(1) yum -y xinetd.d rsync
(2) vi /etc/xinetd.d/rsync
disable = no // 默认已no
(3) chkconfig rsync on
service xinetd start
(4)vi /etc/rsync_users
ruser:123456
(6) chmod 600 /etc/rsync_users
(7) vi /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = yes
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
[tools]
path = /usr/src
comment = Rsync share test
auth users = ruser
secrets file = /etc/rsync_users
read only = yes
(8) service xinetd restart
(9) iptables -I INPUT -p tcp --dport 873 -j ACCEPT
service iptables save
客户端:
(1) yum -y xinetd.d rsync
(2) rsync ruser@192.168.1.19::tools
(3) vi /root/rsync_pass
123456
(4) chmod 600 /root/rsync_pass
(5) rsync -az --password-file=/root/rsync_pass ruser@192.168.1.19::tools /rsync
rsync -az --password-file=/root/rsync_pass ruser@192.168.1.19:tools /rsync
(6) crotab -e
*/1 * * * * /usr/bin/rsync -a --password-file=/root/rsync_pass ruser@192.168.1.19::tools /rsync
2、实时同步
(1) yum -y install gcc autoconf automake make
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify
make
make install
(2) 脚本
#!/bin/bash
inotifywait -mrq -e modify,delete,create,attrib /home/rsync/test/ | while read D E F
do
rsync -ahqzt --delete /home/rsync/test/ rsync@192.168.1.19:/home/rsync/test/
rsync -ahqzt --delete /home/rsync/test/ rsync@192.168.1.17:/home/rsync/test/
done
3、实时同步2
服务端(mcctv-232/mcctv-233):
(1) yum -y install rsync
(2) vi /etc/rsyncd.conf
uid = root
gid = root
address = 192.168.1.233
use chroot = no
read only = no
max connections = 512
log file = /var/log/rsyncd.log
log format = %t %a %m %f %b
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
[web]
path=/var/work/www
list = yes
ignore errors = yes
hosts allow = 192.168.1.199
hosts deny = *
(3) rsync --daemon --config=/etc/rsyncd.conf
echo "rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.local
(4) /sbin/iptables -A INPUT -s 192.168.1.199 -p tcp --dport 873 -j ACCEPT
service iptables save
客户端(mcctv-199):
(1) yum -y install rsync
(2) rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install inotify-tools –enablerepo=epel
(3) vi /var/work/inotify-rsync.sh
#!/usr/bin/env bash
set -e
src=/var/work/www/apkservice
web01=192.168.1.233
web02=192.168.1.232
web02=192.168.1.234
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files
do
/usr/bin/rsync -vzrtopg --exclude-from='/var/work/exclude.list' --delete --progress $src $web01::web/ >> /var/log/rsync.log
/usr/bin/rsync -vzrtopg --exclude-from='/var/work/exclude.list' --delete --progress $src $web02::web/ >> /var/log/rsync.log
/usr/bin/rsync -vzrtopg --exclude-from='/var/work/exclude.list' --delete --progress $src $web03::web/ >> /var/log/rsync.log
done
(4) chmod 755 /var/work/inotify-rsync.sh
(5) /var/work/inotify-rsync.sh&
(6) echo "/var/work/inotify-rsync.sh&" >> /etc/rc.local