www.2527.com_澳门新葡8455手机版_新京葡娱乐场网址_
做最好的网站

inotify数据实时双向同步,inotify完毕数量实时双向

2019-08-23 02:38 来源:未知

unison inotify完结数量实时双向同步

unison是一款跨windows/linux/MAC OS平台的文书同步工具,不独有援助地点对本地同步,也支撑通过SSH、中华VSH和Socket等互联网公约举办共同。更棒的是,unison协理双向同步操作,你不仅可以够从A同步到B,也能够从B同步到A,这几个都不须求非常的设定。

unison是一款跨windows/linux/MAC OS平台的文本同步工具,不止帮衬本地对地点同步,也协理通过SSH、陆风X8SH和Socket等互联网合同举行协同。更棒的是,unison支撑双向同步操作,你不仅可以够从A同步到B,也得以从B同步到A,这一个都没有供给额外的设定。

inotify 是一个 Linux 内核个性,它监察和控制文件系统,而且马上向非常的应用程序发出相关的平地风波警示,比方删除、读、写和卸载操作等。您还能追踪活动的源流和指标等细节。

inotify 是贰个 Linux 内核性格,它监察和控制文件系统,况兼及时向专程的应用程序发出有关的平地风波警示,比如删除、读、写和卸载操作等。您还足以追踪活动的源流和对象等细节。

使用 inotify很轻松:创立多少个文件描述符,附加贰个或多少个监视器(贰个监视器 是贰个路子和一组事件),然后选用 read 方法从描述符获取事件。read 并不会用光全部周期,它在事变产生从前是被封堵的。

使用 inotify很简短:创制三个文本描述符,附加三个或多少个监视器(一个蹲点器 是一个门道和一组事件),然后利用 read 方法从描述符获取事件。read 并不会用光全体周期,它在事变时有发生以前是被堵塞的。

条件介绍

条件介绍

服务器分别为:

服务器node1:192.168.5.10,同步目录:/opt/http/
服务器node2:192.168.5.20,同步目录:/opt/http/

服务器分别为:

服务器node1:192.168.5.10,同步目录:/opt/http/
服务器node2:192.168.5.20,同步目录:/opt/http/

配置epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

配置epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

1、在node1和 node2上安装一下软件

1、在node1和 node2上设置一下软件

(1)安装ocaml

[[email protected] ~]# yum install  ocaml -y

(1)安装ocaml

[root@node1 ~]# yum install  ocaml -y

(2)安装unison

[[email protected] ~]# yum install  unison240.x86_64 -y

(2)安装unison

[root@node1 ~]# yum install  unison240.x86_64 -y

(3)安装inotify

[[email protected] ~]# yum install  inotify-tools.x86_64 -y

(3)安装inotify

[root@node1 ~]# yum install  inotify-tools.x86_64 -y

2、配置双机ssh信任

2、配置双机ssh信任

详细请参照他事他说加以考察

详见请仿效

(1)在node1机root客商下实行ssh-keygen命令,在必要输入的地点,间接回车,生成创设安全信任关系的证件。

[[email protected] ~]# ssh-keygen -t rsa

(1)在node1机root顾客下实践ssh-keygen命令,在须要输入的地方,间接回车,生成建立安全信任关系的注解。

[root@node1 ~]# ssh-keygen -t rsa

node1对node2创建信任关系

[[email protected] ~]# chmod 600 /root/.ssh/authorized_keys
[[email protected] ~]# scp -r /root/.ssh/id_rsa.pub 192.168.5.20:/root/.ssh/authorized_keys

node1对node2建设构造信任关系

[root@node1 ~]# chmod 600 /root/.ssh/authorized_keys
[root@node1 ~]# scp -r /root/.ssh/id_rsa.pub 192.168.5.20:/root/.ssh/authorized_keys

(2)node2对node1创设信任关系

(2)node2对node1建立信任关系

在node2机上实施同样的操作,建设构造node2对node1的信任关系。

在node2机上试行同一的操作,创设node2对node1的深信关系。

(3)远程推行命令测量检验是或不是中标,第一遍有望要输入密码

(3)远程施行命令测量试验是不是中标,第贰次有希望要输入密码

指令格式:ssh 远程客户名@远程主机IP地址 '远程命令或然脚本'

[[email protected] ~]# ssh root@192.168.5.10 'hostname'

新京葡娱乐场网址 1

指令格式:ssh 远程客户名@远程主机IP地址 '远程命令只怕脚本'

[root@node2 ~]# ssh root@192.168.5.10 'hostname'

新京葡娱乐场网址 2

3、增多脚本

3、增加脚本

(1)在192.168.5.10服务器node1上丰裕脚本:

[[email protected] ~]# mkdir /script

[[email protected] ~]# vim /script/inotify.sh

#/bin/bash
UNISON=`ps -ef |grep -v grep|grep -c inotifywait`
if [ ${UNISON} -lt 1 ]
then
    ip2="192.168.5.20" ##目标主机IP
    src2="/opt/http/"
    dst2="/opt/http/"
    /usr/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line
do
    /usr/bin/unison -batch $src2 ssh://$ip2/$dst2
    echo -n "$line " >> /var/log/inotify/inotify$(date  %u).log
    echo ` date  %F %T " " -f1-4` >> /var/log/inotify/inotify$(date  %u).log
done
fi

(1)在192.168.5.10服务器node1上加多脚本:

[root@node1 ~]# mkdir /script

[root@node2 ~]# vim /script/inotify.sh

#/bin/bash
UNISON=`ps -ef |grep -v grep|grep -c inotifywait`
if [ ${UNISON} -lt 1 ]
then
    ip2="192.168.5.20" ##目标主机IP
    src2="/opt/http/"
    dst2="/opt/http/"
    /usr/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line
do
    /usr/bin/unison -batch $src2 ssh://$ip2/$dst2
    echo -n "$line " >> /var/log/inotify/inotify$(date  %u).log
    echo ` date  %F %T " " -f1-4` >> /var/log/inotify/inotify$(date  %u).log
done
fi

(2)在192.168.5.20服务器node2上助长脚本:

[[email protected] ~]# mkdir /script

[[email protected] ~]# vim /script/inotify.sh

#/bin/bash
UNISON=`ps -ef |grep -v grep|grep -c inotifywait`
if [ ${UNISON} -lt 1 ]
then
    ip2="192.168.5.10"
    src2="/opt/http/"
    dst2="/opt/http/"
    /usr/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line
do
    /usr/bin/unison -batch $src2 ssh://$ip2/$dst2
    echo -n "$line " >> /var/log/inotify/inotify$(date  %u).log
    echo ` date  %F %T " " -f1-4` >> /var/log/inotify/inotify$(date  %u).log
done
fi

(2)在192.168.5.20服务器node2上丰裕脚本:

[root@node2 ~]# mkdir /script

[root@node2 ~]# vim /script/inotify.sh

#/bin/bash
UNISON=`ps -ef |grep -v grep|grep -c inotifywait`
if [ ${UNISON} -lt 1 ]
then
    ip2="192.168.5.10"
    src2="/opt/http/"
    dst2="/opt/http/"
    /usr/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line
do
    /usr/bin/unison -batch $src2 ssh://$ip2/$dst2
    echo -n "$line " >> /var/log/inotify/inotify$(date  %u).log
    echo ` date  %F %T " " -f1-4` >> /var/log/inotify/inotify$(date  %u).log
done
fi

4、在二台服务器上更改脚本权限:

[[email protected] ~]# chmod a x /script/inotify.sh

4、在二台服务器上修改脚本权限:

[root@node1 ~]# chmod a x /script/inotify.sh

5、建构日志目录

5、建设构造日志目录

即使/var/log/inotify目录未有则须要手工业创制,用来寄放在inotify的日记;

[[email protected] ~]# mkdir /var/log/inotify

假如/var/log/inotify目录未有则要求手工成立,用来贮存在inotify的日记;

[root@node2 ~]# mkdir /var/log/inotify

6、增添定时职分

[[email protected] ~]# crontab -e
* * * * * /bin/bash /script/inotify.sh > /dev/null 2>&1 &

新京葡娱乐场网址 3

6、增多按时职务

[root@node2 ~]# crontab -e
* * * * * /bin/bash /script/inotify.sh > /dev/null 2>&1 &

新京葡娱乐场网址 4

重启Computer,测验二台服务器中/opt/http/的从头到尾的经过是或不是能一同

重启计算机,测量检验二台服务器中/opt/http/的从头到尾的经过是不是能一同

不重启Computer,手动实施脚本也能够测量检验

不重启Computer,手动推行脚本也能够测验

/bin/bash /script/inotify.sh或/script/inotify.sh

/bin/bash /script/inotify.sh或/script/inotify.sh

在中间一台/opt/http/目录中加上,或改造,或删除文件的时候,能够看出剧本状态,相同的时间另一台服务器也理应会尾随操作。

在在那之中一台/opt/http/目录中丰裕,或退换,或删除文件的时候,能够看出剧本状态,同有时候另一台服务器也应有会尾随操作。

7、假若必要可以钦定某几种后缀的公文分裂台

7、假若供给能够钦定某两种后缀的文本不一样台

打开/root/.unison/default.prf,添加:

ignore = Name *.txt
ignore = Name *.mdb

打开/root/.unison/default.prf,添加:

ignore = Name *.txt
ignore = Name *.mdb

乐趣正是见仁见智步txt和mdb格式的文本,修改完事后再一次推行一下/bin/sh /script/inotify.sh就可以立竿见影。

意思正是例外步txt和mdb格式的文本,修改完现在再也推行一下/bin/sh /script/inotify.sh就能够知效。

本人的是平昔钦命名称:

ignore = Name .bash_profile
ignore = Name .viminfo
ignore = Name .bash_history

本人的是一向钦赐名称:

ignore = Name .bash_profile
ignore = Name .viminfo
ignore = Name .bash_history

上述步骤操作实现大致都不会有失常态,假诺有标题那你跟着往下看。

如上步骤操作达成大约都不会有标题,如若有标题那您跟着往下看。

8、假若有标题,请手动修改下脚本:

8、要是有标题,请手动修改下脚本:

在一些企业中,是禁止禁止使用root远程登入,只好动用普通顾客进行同步方案

在一些厂家中,是不准禁用root远程登入,只能采纳普通顾客进行同步方案

等候同步目录(二台微型计算机不可能应用同样的待同步目录名,不然报错)

192.168.5.10: /opt/http/
192.168.5.20: /opt/http/

伺机同步目录(二台Computer无法动用一样的待同步目录名,不然报错)

192.168.5.10: /opt/http/
192.168.5.20: /opt/http/

设置进程如下

useradd –g apache unison
passwd unison
(输入新密码)
chown –R unison. /opt/http/
mkdir /home/unison/.ssh
chmod 700  /home/unison/.ssh
su – unison
ssh-keygen -t rsa
(然后连续三次回车)
添加密钥到授权密钥文件中

设置进程如下

useradd –g apache unison
passwd unison
(输入新密码)
chown –R unison. /opt/http/
mkdir /home/unison/.ssh
chmod 700  /home/unison/.ssh
su – unison
ssh-keygen -t rsa
(然后连续三次回车)
添加密钥到授权密钥文件中

在192.168.5.10服务器node1上操作(22是端口号)

cd /home/unison/.ssh
ssh "-p 22" 192.168.5.10 cat /home/unison/.ssh/id_rsa.pub >> authorized_keys  #小写p
ssh "-p 22" 192.168.5.20 cat /home/unison /.ssh/id_rsa.pub >> authorized_keys
scp  -P 22 authorized_keys 192.168.5.20:/home/unison/.ssh/  #大写P
chmod 600  /home/unison/.ssh/authorized_keys

在192.168.5.10服务器node1上操作(22是端口号)

cd /home/unison/.ssh
ssh "-p 22" 192.168.5.10 cat /home/unison/.ssh/id_rsa.pub >> authorized_keys  #小写p
ssh "-p 22" 192.168.5.20 cat /home/unison /.ssh/id_rsa.pub >> authorized_keys
scp  -P 22 authorized_keys 192.168.5.20:/home/unison/.ssh/  #大写P
chmod 600  /home/unison/.ssh/authorized_keys

在192.168.5.20服务器B上操作

chmod 600 /home/unison/.ssh/authorized_keys

在192.168.5.20服务器B上操作

chmod 600 /home/unison/.ssh/authorized_keys

独家在两台机械上实行如下测量检验(第三遍试行时,会须要输入密码,未来执行则不须求验证信任成功)

ssh -p 22 [email protected]192.168.5.10 date
ssh -p 22 [email protected]192.168.5.20 date
su - root

分级在两台机器上实行如下测量试验(第贰回实施时,会须要输入密码,将来实行则无需注脚信任成功)

ssh -p 22 unison@192.168.5.10 date
ssh -p 22 unison@192.168.5.20 date
su - root

node1脚本

 #/bin/bash
UNISON=`ps -ef |grep -v grep|grep -c inotifywait`
if [ ${UNISON} -lt 1 ]
then
ip2="[email protected]:22"
src2="/opt/http/"
dst2="/opt/http/"
/usr/local/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line
do
/usr/local/bin/unison -batch -sshargs "-i /home/unison/.ssh/id_rsa" $src2 ssh://$ip2
/$dst2
echo -n "$line " >> /var/umelook-log/inotify/inotify$(date  %u).log
echo ` date  %F %T` >> /var/umelook-log/inotify/inotify$(date  %u).log
done
fi

node1脚本

 #/bin/bash
UNISON=`ps -ef |grep -v grep|grep -c inotifywait`
if [ ${UNISON} -lt 1 ]
then
ip2="unison@192.168.5.20:22"
src2="/opt/http/"
dst2="/opt/http/"
/usr/local/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line
do
/usr/local/bin/unison -batch -sshargs "-i /home/unison/.ssh/id_rsa" $src2 ssh://$ip2
/$dst2
echo -n "$line " >> /var/umelook-log/inotify/inotify$(date  %u).log
echo ` date  %F %T` >> /var/umelook-log/inotify/inotify$(date  %u).log
done
fi

node2脚本:

 #/bin/bash
UNISON=`ps -ef |grep -v grep|grep -c inotifywait`
if [ ${UNISON} -lt 1 ]
then
ip2="[email protected]:22"
src2="/opt/http/"
dst2="/opt/http/"
/usr/local/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line
do
/usr/local/bin/unison -batch -sshargs "-i /home/unison/.ssh/id_rsa" $src2 ssh://$ip2
/$dst2
echo -n "$line " >> /var/umelook-log/inotify/inotify$(date  %u).log
echo ` date  %F %T` >> /var/umelook-log/inotify/inotify$(date  %u).log
done
fi

CentOS 6.5 rsync inotify完成多少实时同步备份

rsync inotify完毕数量的实时同步

新京葡娱乐场网址,rsync inotify达成服务器之间文件实时同步详解 

CR-Vsync结合Inotify 实时一只计划 

RSync完毕多少备份 

inotify rsync达成数量实时同步 

rsync inotify达成数据的实时备份 

rsync inotify完成多少自动同步 

选择rsync完成数量实时同步备份 

unison 是一款跨windows/linux/MAC OS平台的公文同步工具,不独有协理本地对地点同步,也支撑通过SSH、奥德赛SH和Soc...

node2脚本:

 #/bin/bash
UNISON=`ps -ef |grep -v grep|grep -c inotifywait`
if [ ${UNISON} -lt 1 ]
then
ip2="unison@192.168.5.10:22"
src2="/opt/http/"
dst2="/opt/http/"
/usr/local/bin/inotifywait -mrq -e create,delete,modify,move $src2 | while read line
do
/usr/local/bin/unison -batch -sshargs "-i /home/unison/.ssh/id_rsa" $src2 ssh://$ip2
/$dst2
echo -n "$line " >> /var/umelook-log/inotify/inotify$(date  %u).log
echo ` date  %F %T` >> /var/umelook-log/inotify/inotify$(date  %u).log
done
fi
TAG标签:
版权声明:本文由澳门新葡8455手机版发布于新京葡娱乐场网址,转载请注明出处:inotify数据实时双向同步,inotify完毕数量实时双向