准备:

主服务器 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

两台linux 服务器同步的更多相关文章

  1. 两台linux服务器之间实现挂载

    https://blog.csdn.net/lpp_dd/article/details/78743862 两台linux服务器之间实现挂载: 服务端: 1.首先需要在主机上设置允许挂载的目录 (1) ...

  2. 两台linux服务器之间免密scp,在A机器上向B远程拷贝文件

    两台linux服务器之间免密scp,在A机器上向B远程拷贝文件 操作步骤:1.在A机器上,执行ssh-keygen -t rsa,一路按Enter,不需要输入任何内容.(如有提示是否覆盖,可输入y后按 ...

  3. EMC存储同时分配空间到两台LINUX服务器路径不一致导致双机盘符大小不一致

    操作系统:Centos linux6.6 当我们从EMC存储上划分空间同时分配给两台或者多台服务器上时,有的时候会出现在服务器上所生成的磁盘路径是不一致的,这样就会导致盘符名称不一致或者是盘符对应的大 ...

  4. 两台Linux服务器文件同步

    在给公司或者学校做系统部署的时候,为了数据安全往往我们至少需要两台服务器,接下来请看: 我们要实现的是把客户端(192.168.0.1)的复制到目标服务器(192.168.0.2) 一.目标服务器 1 ...

  5. 在联网时,两台linux服务器传输文件方法

    登陆服务器root用户命令:su - root 传输文件命令:scp +需要传输linux系统文件+空格+目标linux服务器的用户名@服务器ip地址:+传输的文件路径:例:scp /mnt/work ...

  6. 两台linux服务器相互拷贝文件的两个方法

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  7. 同步两台linux服务器时间同步方案

    Linux自带了ntp服务 -- /etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间. 配 ...

  8. 两台Linux服务器之间复制文件

    一.scp 1.简介 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的 2.软件安装 ...

  9. linux操作系统-两台linux服务器SSH免密码登录

    A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), ip为192.168.100.247 ; A和B的系统都是Linux   在A上的命令 # ssh-keyg ...

随机推荐

  1. postman在有登录认证的情况下进行接口测试!!!

    1.启动自己的项目之后直接使用浏览器进行登录,登陆之后随意点击一个请求,F12找到该请求中请求头的Cookie键值对. 2.将该键值对复制粘贴到postman中的请求Headers中,如下图. 3,请 ...

  2. MongoDB4.0及以上的版本安装时无法启动服务。

    问题描述:MongoDB安装过程中启动服务失败,点击忽略之后,可以安装完成.安装完成之后提示重启电脑,出现电脑蓝屏. 并且修复好电脑之后无法启动MongoDB服务. 暂时不知道原因(怀疑是MongoD ...

  3. 将文件大小数值转换成B、KB、MB、GB

    //delphi 将文件大小数值转换成B/KB/MB/GB function FormatByteSize(const bytes: Longint): string; const B = 1; // ...

  4. LANMP相关配置

    Linux Apache Mysql Postgresql 安装 yum -y install httpd yum -y install mysql mysql-server yum -y insta ...

  5. div中包着文字,div出现隐藏的时候,文字总是在div外面。

    背景: 给博客加一个侧边栏,点击出现隐藏,每次点击出现或者隐藏,文字总是很突兀的就出来了. 解决: overflow:hidden

  6. ie9table排列不对.td错行,多了一列

    发现问题是ie9,本地用google/ie11都是好的. 有合并行的问题,本来就5列,偏偏莫名其妙多了一列,某一行上就有一个单元格空着,往后推了一列,刷新无数次都是同一行错位. 略微改动一下jsp(删 ...

  7. 20.multi_case01

    # 多进程,使用Pool from multiprocessing import Pool def f(x): return x*x if __name__ == '__main__': p = Po ...

  8. Python第二课-输入输出

    name = input() 输入的字符串已经赋值给变量name print() 输出内容 print(,) print中,连接字符串相当于空格

  9. Post Office IOI 2000 /// 区间DP oj24077

    题目大意: 给定n个村庄的坐标,两个村庄之间的距离是其坐标之差的绝对值 最多能选m个村庄设立邮局,求设立邮局的地点使得各村庄与邮局距离总和最小 一, 所有的村庄看做在一条直线上 考虑三个因素:i 当前 ...

  10. Django static静态配置文件

    对于Django来说静态文件一般交由Web服务器处理,Django本身不处理静态文件.为了使Django开发环境能够处理静态文件,Django有和生产环境不同的静态文件配置方式. Django 版本: ...