两台linux 服务器同步

Posted Blon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两台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 = 10
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 [email protected]$host::$des >> /var/log/rsync.log 2>&1
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 [email protected]$host::$des >> /var/log/rsync.log 2>&1
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






以上是关于两台linux 服务器同步的主要内容,如果未能解决你的问题,请参考以下文章

php网站部署两套代码在两台服务器上面,如何做到上传文件同步

Linux两台服务器mysql数据库同步

如何使两台linux服务器时间同步

使用git在两台机器间同步代码

使用git在两台机器间同步代码

使用git在两台机器间同步代码