rpm -qa |grep rsync //检查是否有rsync安装包
rsync (接收端)
1.yum install rsync -y
service iptables stop
vim /etc/rsyncd.conf
uid=root
gid=root
max connections=36000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsync.pass
[testfile]
path=/tmp/testfile
comment = testfile
ignore errors
read only = no
auth user = rsync_user
hosts allow = 10.10.0.0/16
hosts deny = *
下面是截图
设置密码:
vim /etc/rsync.pass
rsync_user:yixue
mkdir /tmp/testfile -p
启动服务:
chmod 600 /etc/rsyncd.conf
chmod 600 /etc/rsync.pass
ulimit -SHn 65535
/usr/bin/rsync --daemon /etc/rsyncd.conf
设置开机自启动:
echo "ulimit -SHn 65535" >>/etc/rc.local
echo "/usr/bin/rsync --daemon /etc/rsyncd.conf">>/etc/rc.local
sersync (推送端)
yum install rsync -y
mkdir /usr/local/rsync -p
//上传sersync压缩包
tar -zxf sersync_64bit_binary_stable_final.tar
设置密码:
vim /etc/rsync.pass1
rsync_user:yixue
vim confxml.xml
修改源服务器的同步路径
修该目标ip地址和模块
修改rsync的用户和密码
启动服务:
/usr/local/rsync/sersync2 -d -r -o /usr/local/rsync/confxml.xml
设置开机启动:
echo "/usr/local/rsync/sersync2 -d -r -o /usr/local/rsync/confxml.xml" >> /etc/rc.local
说明:
1.修改inotify默认参数(inotify默认内核参数值太小)
查看系统默认参数值:
sysctl -a | grep max_queued_events
结果是:fs.inotify.max_queued_events = 16384
sysctl -a | grep max_user_watches
结果是:fs.inotify.max_user_watches = 8192
sysctl -a | grep max_user_instances
结果是:fs.inotify.max_user_instances = 128
修改参数:
sysctl -w fs.inotify.max_queued_events="99999999"
sysctl -w fs.inotify.max_user_watches="99999999"
sysctl -w fs.inotify.max_user_instances="65535"
参数说明:
max_queued_events:
inotify队列最大长度,如果值太小,会出现"** Event Queue Overflow **"错误,导致监控文件不准确
max_user_watches:
要同步的文件包含多少目录,可以用:find /home/www.jb51.net -type d | wc -l 统计,必须保证max_user_watches值大于统计结果(这里/home/www.jb51.net为同步文件目录)
max_user_instances:
每个用户创建inotify实例最大值
2.添加脚本监控sersync是否正常运行
cd /usr/local/rsync/
vim check_sersync.sh
chmod 775 check_sersync.sh
#!/bin/sh
sersync="/usr/local/rsync/sersync2"
confxml="/usr/local/rsync/confxml.xml"
status=$(ps aux |grep 'sersync2'|grep -v 'grep'|wc -l)
if [ $status -eq 0 ];
then
echo "Restart sersync2!"
$sersync -d -r -o $confxml &
else
echo "Do nothing."
exit 0;
fi
设定定时任务
vim /etc/crontab
*/5 * * * * root/usr/local/rsync/check_sersync.sh > /dev/null 2>&1
卸载方法:
yum和apt-get安装的需要yum remove 和apt-get remove