正文
两台linux 服务器同步
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
准备:
主服务器 192.168.0.1
备份服务器 192.168.0.2
备份服务器 注意需要开放873端口 而且小心selinux
开始:
sudo vim /etc/rsyncd.passwd
rsync_user:123456 注意格式,每行一个用户名:密码
sudo chmod 600 /etc/rsyncd.passwd
sudo vim /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode uid = root
gid = root
use chroot = no
munge symlinks = no
max connections =
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log ignore errors
read only = no
write only = no
hosts allow = 192.168.0.1
hosts deny = *
list = false
auth users = rsync_user
secrets file = /etc/rsyncd.passwd [web]
path = /var/www/
comment = web [cron]
path = /var/spool/cron/
comment = cron
注意 [web] [cron] 是不同的目录,如果有其他的可以继续添加,如果对某个目录下有特殊要求可以在它下面重复配置上面的内容
加入自启动
sudo vim /etc/rc.local
/usr/bin/rsync --daemon
并且手动执行下
sudo /usr/bin/rsync --daemon
主服务器
sudo yum install inotify-tools
sudo vim /etc/rsync.passwd
123456 注意和备份服务器格式不同,这里仅仅需要密码即可,我在这浪费了几个小时折腾
sudo chmod 600 /etc/rsync.passwd
sudo vim /usr/bin/rsync.sh
#!/bin/bash host=192.168.0.2
user=rsync_user src=/var/www/
des=web
/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 -avz --delete --password-file=/etc/rsync.passwd $src $user@$host::$des >> /var/log/rsync.log >&
done src=/var/spool/cron/
des=cron
/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 -avz --delete --password-file=/etc/rsync.passwd $src $user@$host::$des >> /var/log/rsync.log >&
done
sudo chmod +x /usr/bin/rsync.sh
添加自启动
sudo vim /etc/rc.local
/usr/bin/rsync.sh &
并且手动启动下
sudo /usr/bin/rsync.sh &
结束
如果出现
Failed to watch /var/www/; upper limit on inotify watches reached!
Please increase the amount of inotify watches allowed per user via `/proc/sys/fs/inotify/max_user_watches'.
sudo sysctl -w fs.inotify.max_user_watches="99999999"
sudo vim /etc/sysctl.conf
添加
fs.inotify.max_user_watches=99999999