仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 345|回复: 6
打印 上一主题 下一主题

[其他Linux] 给大家带来linux下完成web数据同步的四种体例(功能对照)

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 12:51:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
但不会命令而成为高手也是不可能的.这就好比学英语,什么语法都不懂,只捧着单词手册背单词是学不会英语的,但是没有单词词汇量英语水平也提不高的。
完成web数据同步的四种体例
=======================================
1、nfs完成web数据共享
2、rsync+inotify完成web数据同步
3、rsync+sersync更快更勤俭资本完成web数据同步
4、unison+inotify完成web数据双向同步
=======================================
1、nfs完成web数据共享


nfs能完成数据同步是经由过程NAS(收集附加存储),在服务器上共享一个文件,且服务器必要设置文件体系的权限和设置文件设置的权限,权限二者之间取交集,然后客户端把共享的文件挂载到当地,客户端对文件有读写权限,则完成数据的同步。
nfs+web:服务器真个设置:
1)、安装相干软件,httpd供应web服务,nfs-utils供应nfs服务
[root@jie1~]#yum-yinstallhttpdnfs-utils
2)、设置web的相干设置,使得web可以供应web服务

.代码以下:

[root@jie1~]#vim/etc/httpd/conf/httpd.conf
########################################
ServerName172.16.22.1:80
#DocumentRoot"/var/www/html"#供应假造主机,正文默许寄存网页文件的路径
<VirtualHost*:80>
ServerNamewww.jie.com
DocumentRoot/web/htdocs
</VirtualHost>
#######################################
[root@jie1~]#mkdir-pv/web/htdocs#创立寄存网页的目次
[root@jie1~]#cd/web/htdocs/
[root@jie1htdocs]#touchindex.htmltest.htmltest.php
[root@jie1htdocs]#ls
index.htmltest.htmltest.php
[root@jie1htdocs]#echo"ThisisJie1Web+nfsServer">index.html
[root@jie1htdocs]#httpd-t#反省web的设置文件是不是有语法毛病
SyntaxOK
[root@jie1htdocs]#servicehttpdstart#开启web服务
Startinghttpd:[OK]


3)、设置nfs的相干设置,共享网页文件
.代码以下:

[root@jie1htdocs]#idapache#安装httpd软件后,体系会创立apache用户,检察apache的id号
uid=48(apache)gid=48(apache)groups=48(apache)
[root@jie1htdocs]#vim/etc/exports
######################################
/web/htdocs172.16.22.3(rw,sync,root_squash,anonuid=48,anongid=48)
#nfs是以id号来断定是不是能会见共享的文件的,由于两个服务器都安装了httpd软件,城市有apache用户,以是apache用户的id号能会见共享的文件
#/web/htdocs共享的目次
#172.16.22.3指定客户端能共享此文件,多个客户端用逗号离隔
#rw,读写权限
#sync,同步体例
#root_squash,紧缩root用户的权限
#anonuid=48,指定此用户的id能会见共享文件
#anongid=48指定此组的id能会见共享文件
######################################
[root@jie1htdocs]#servicenfsstart#开启nfs服务
StartingNFSservices:[OK]
StartingNFSquotas:[OK]
StartingNFSmountd:[OK]
StoppingRPCidmapd:[OK]
StartingRPCidmapd:[OK]
StartingNFSdaemon:[OK]
[root@jie1htdocs]#


web:客户真个设置
1)、安装httpd的软件
.代码以下:
[root@jie3/]#yum-yinstallhttpd

2)、设置web的相干设置,使得web可以供应web服务
.代码以下:

[root@jie3/]#vim/etc/httpd/conf/httpd.conf
########################################
ServerName172.16.22.3:80
#DocumentRoot"/var/www/html"
<VirtualHost*:80>
ServerNamewww.jie.com
DocumentRoot/website#寄存网页文件的路径
</VirtualHost>
#######################################
[root@jie3/]#mkdir/website
[root@jie3/]#httpd-t
SyntaxOK
[root@jie3/]#servicehttpdstart
Startinghttpd:[OK]
[root@jie3~]#cd/website/
[root@jie3website]#ls#如今检察是没有任何文件
[root@jie3website]#


完成同步:
1)服务器端设置apache用户对共享的文件有读写权限
.代码以下:
[root@jie1htdocs]#setfacl-R-mu:apache:rwx/web/#设置apache用户对其中一切文件有读写可实行权限

2)客户端挂载服务器的共享文件,检察客户端是不是已同步服务器真个文件
.代码以下:

[root@jie3website]#cd/root
[root@jie3~]#mount-tnfs172.16.22.1:/web/htdocs/website/#经由过程nfs挂载服务器真个文件
[root@jie3/]#echo"172.16.22.1:/web/htdocs/websitenfsdefaults,_netdev00">>/etc/fstab#完成开机挂载
[root@jie3~]#cd/website/
[root@jie3website]#ls#检察文件已同步过去
index.htmltest.htmltest.php
[root@jie3website]#


3)客户端在共享的文件中新增文件,检察服务器端是不是同步文件
.代码以下:

[root@jie3~]#cd/website/
[root@jie3website]#ls
index.htmltest.htmltest.php
[root@jie3website]#touchwebsite.html#在客户端创立此文件
[root@jie3website]#ls
index.htmltest.htmltest.phpwebsite.html
[root@jie1htdocs]#ls#服务器端,能够检察来着客户端上传的文件
index.htmltest.htmltest.phpwebsite.html


一切的数据实在都保留到了nfs服务器,不管用户会见哪台Web服务器,都要来nfs服务器猎取数据,如许必将照成nfs服务器的功能下落,并且客户端对nfs服务器的依附性较年夜,假如nfs服务器down失落以后,客户真个web服务器就没法事情了。(静态的那种数据,并且数据量很年夜的数据,就不要用nfs服务器来完成数据共享了,一样平常顺应于,静态页面和数据较小的文件)
2、rsync+inotify完成web数据同步

rsync(remotesync)的特征:
能够镜像保留全部目次树和文件体系
能够同步增量同步数据,文件传输效力高,因此同步工夫很短
能够坚持原有文件的权限、工夫等属性
加密传输数据,包管了数据的平安性
撑持匿名传输
rsync也能完成同步,可是必要本人手动的往同步数据,当数据量十分的频仍时,无疑是加年夜了运维职员的事情,inotify是一种壮大的、细粒度的、异步的文件体系事务监控机制,inotify-tools工具的呈现,办理了这类事情,安装inotify软件的主时机监听服务器真个主机是不是数据和本机纷歧样,(由于在上传数据时,运维职员先上传到安装inotify主机上),纷歧样就用rsync命令间接把数据传输已往。客户端安装rsync软件是为了挪用rsync的命令,安装inotify软件是监听和数据是不是产生改动,服务器端安装rsync软件时为了供应rsync服务。
rsync+web服务真个设置:
1)、安装相干软件
.代码以下:
[root@jie1~]#yum-yinstallrsyncxinetdhttpd
#rsync服务一般基于超等保卫历程xinetd办理的体例来完成,因而必要事前安装rysnc和xinetd


2)、web的相干设置,使得web可以供应服务

.代码以下:

[root@jie1~]#vim/etc/httpd/conf/httpd.conf
########################################
ServerName172.16.22.1:80
#DocumentRoot"/var/www/html"
<VirtualHost*:80>
ServerNamewww.jie.com
DocumentRoot/web/htdocs
</VirtualHost>
#######################################
[root@jie1~]#mkdir-pv/web/htdocs
[root@jie1~]#cd/web/htdocs#服务器端,没有任何的网页文件
[root@jie1~]#ls
[root@jie1~]#


3)、rsync服务的相干设置
*****创建rsync的设置文件和暗码文件************
touch/etc/rsyncd.conf(rsync的设置文件)
touch/etc/rsyncd.pwd(用户的暗码文件)
chmod600/etc/rsyncd.pwd(权限要设置为600,不然没法备份乐成)
.代码以下:

[root@jie1~]#vim/etc/rsyncd.conf
############vim/etc/rsyncd.conf########################################
uid=nobody#备份以甚么身份举行,用户ID
gid=nobody#备份以甚么身份举行,组ID
usechroot=no#监禁在源目次
maxconnections=3#最年夜毗连数,0代表没无限制
strictmodes=yes#是不是反省口令文件的权限
pidfile=/var/run/rsyncd.pid#运转历程的pid文件
logfile=/var/log/rsyncd.log#日记纪录文件
[htdocs]#指定认证的备份模块名
path=/web/htdocs#必要备份的目次的路径
ignoreerrors=yes#疏忽一些有关的IO毛病
readonly=no#设置为no,便可以传至服务器的响应目次。
writeonly=no#设置为no,暗示客户端能够下载文件
hostsallow=172.16.22.3#能够毗连rsync服务器的主机的IP地点
hostsdeny=*#设置克制毗连rsync服务器的主机地点,*暗示回绝一切除hostsallow界说的
uid=root
gid=root
authusers=backuper#毗连模块的用户名
secretsfile=/etc/rsyncd.pwd#毗连模块用户名的暗码文件寄存路径
#####################################################################
[root@jie1~]#vim/etc/rsyncd.pwd#用户的暗码文件
#####################################################################
backuper:pwd123#用户名:暗码
#####################################################################
[root@jie1~]#chmod600/etc/rsyncd.pwd#权限给600
[root@jie1~]#chkconfigrsyncon
[root@jie1~]#chkconfigxinetdon
[root@jie1~]#servicexinetdstart
Startingxinetd:[OK]
[root@jie1~]#netstat-pant|grep873
tcp00:::873:::*LISTEN19876/xinetd


rsync+inotify+web客户真个设置:
1)、inotify-tools软件的安装及设置
.代码以下:

[root@jie3~]#wgethttp://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz#下载inotify-tools软件
[root@jie3~]#ls
anaconda-ks.cfginstall.log
inotify-tools-3.14.tar.gzinstall.log.syslog
[root@jie3~]#tarxfinotify-tools-3.14.tar.gz#解压软件
[root@jie3~]#cdinotify-tools-3.14
[root@jie3inotify-tools-3.14]#./configure--prefix=/usr/local/inotify&&make&&makeinstall#编译安装软件
[root@jie3~]#cd/usr/local/inotify/
[root@jie3inotify]#echo"PATH=/usr/local/inotify/bin:$PATH">>/etc/profile.d/inotify.sh#设置能与体系联系关系的path路径
[root@jie3inotify]#source/etc/profile.d/inotify.sh
[root@jie3inotify]#echo"/usr/local/inotify/lib">/etc/ld.so.conf.d/inotify.conf#设置体系能辨认软件的库文件
[root@jie3inotify]#ldconfig-v|grepinotify
/usr/local/inotify/lib:
libinotifytools.so.0->libinotifytools.so.0.4.1
[root@jie3inotify]#ln-sv/usr/local/inotify/include//usr/include/inotify#链讨论文件到体系能辨认的路径下
`/usr/include/inotify->`/usr/local/inotify/include/
[root@jie3inotify]#


2)、web的相干设置,使得web可以供应服务
.代码以下:

[root@jie3/]#vim/etc/httpd/conf/httpd.conf
########################################
ServerName172.16.22.3:80
#DocumentRoot"/var/www/html"
<VirtualHost*:80>
ServerNamewww.jie.com
DocumentRoot/website
</VirtualHost>
#######################################
[root@jie3/]#mkdir/website
[root@jie3/]#httpd-t
SyntaxOK
[root@jie3/]#servicehttpdstart
Startinghttpd:[OK]
[root@jie3~]#cd/website/
[root@jie3website]#ls
[root@jie3website]#
[root@jie3~]#


3)、设置能毗连rsync的暗码文件和传输数据的剧本
.代码以下:

[root@jie3~]#vim/etc/rsyncd.pwd
#############################################
pwd123#暗码与rsync服务器的暗码不异
###############################################
[root@jie3~]#chmod600/etc/rsyncd.pwd
[root@jie3~]#vimrsync.sh
#####################################################################
#!/bin/bash
host=172.16.22.1
src=/website
des=htdocs
inotifywait-mrq--timefmt%d/%m/%y%H:%M--format%T%w%f%e-emodify,delete,create,attrib$src
|whilereadfiles
do
/usr/bin/rsync-vzrtopg--progress--password-pold=/etc/rsyncd.secrets$srcbackuper@$host::$des
echo"${files}wasrsynced">>/tmp/rsync.log2>&1
done
####################################################################


考证完成同步:
.代码以下:

##1、先开启监控的剧本(inotify主机上)
[root@jie3~]#bash-xrsync.sh&
#不放在背景能够检察同步的具体历程,天生情况中,倡议把此剧本放到背景实行,此剧本会监控客户端数据是不是体例变更,假如变更剧本就运转,数据稳定化,剧本就会守候着用户的输出
##2、在开一个终端,在此目次创立文件(inotify主机上)
[root@jie3~]#cd/website/
[root@jie3website]#touchindex.htmltest.phptestdb.phpinotify.php
[root@jie3website]#ls
index.htmltestdb.phptest.phpinotify.php
[root@jie3website]#
##3、看服务器端,数据是不是已同步已往
[root@jie1~]#cd/web/htdocs/
[root@jie1htdocs]#ls
index.htmltestdb.phptest.phpinotify.php#数据已被同步过去
[root@jie1htdocs]#


rsync+inotify这类能完成数据的同步,可是当收集很忙碌,且文件变更对照频仍时,并且必要同步的rsync服务器端对照多时,rsync+inotify一定是满意不了需求的,因而rsync+sersync这类更快更勤俭资本完成web数据同步能够填补rsync+inotify带来的不敷,rsync+inotify另有一个严重的弱点就是数据传输只是单向的,当运维职员因为“大意”把数据间接传输rsync服务器端时,inotify主机是得不到rsync服务器真个数据,因而unison+inotify完成web数据双向同步,办理了rsync+inotify的这一弱点。
3、rsync+sersync更快更勤俭资本完成web数据同步




sersync与inotify比拟有以下长处:
sersync是利用c++编写,并且对linux体系文件体系发生的一时文件和反复的文件操纵举行过滤,以是在分离rsync同步的时分,节俭了运转时耗和收集资本。因而更快。
sersync设置起来很复杂,个中bin目次下已有基础上静态编译的2进制文件,共同bin目次下的xml设置文件间接利用便可。
sersync利用多线程举行同步,特别在同步较年夜文件时,可以包管多个服务器及时坚持同步形态。
sersync有堕落处置机制,经由过程失利行列对堕落的文件从头同步,假如仍然失利,则按设准时长对同步失利的文件从头同步。
sersync自带crontab功效,只需在xml设置文件中开启,便可按您的请求,隔一段工夫全体同步一次。无需再分外设置crontab功效。
rsync+web服务器真个设置:
1)、安装相干软件
.代码以下:

[root@jie1~]#yum-yinstallrsyncxinetdhttpd
#rsync服务一般基于超等保卫历程xinetd办理的体例来完成,因而必要事前安装rysnc和xinetd


2)、web的相干设置,使得web可以供应服务
.代码以下:

[root@jie1~]#vim/etc/httpd/conf/httpd.conf
########################################
ServerName172.16.22.1:80
#DocumentRoot"/var/www/html"
<VirtualHost*:80>
ServerNamewww.jie.com
DocumentRoot/web/htdocs
</VirtualHost>
#######################################
[root@jie1~]#mkdir-pv/web/htdocs
[root@jie1~]#cd/web/htdocs#服务器端,没有任何的网页文件
[root@jie1~]#ls
[root@jie1~]#


3)、rsync服务的相干设置
.代码以下:

###====此设置文件的注释,在rsync+inotify中已注释了=====####
[root@jie1~]#vim/etc/rsyncd.conf
############vim/etc/rsyncd.conf###############
uid=nobody
gid=nobody
usechroot=no
maxconnections=3
strictmodes=yes
pidpold=/var/run/rsyncd.pid
logfile=/var/log/rsyncd.log
[htdocs]
path=/web/htdocs
ignoreerrors=yes
readonly=no
writeonly=no
hostsallow=172.16.22.3
hostsdeny=*
list=false
uid=root
gid=root
authusers=backuper
secretsfile=/etc/rsyncd.pwd
##############################################
[root@jie1~]#vim/etc/rsyncd.pwd
backuper:pwd123
[root@jie1~]#chmod600/etc/rsyncd.pwd
[root@jie1~]#chkconfigrsyncon
[root@jie1~]#chkconfigxinetdon
[root@jie1~]#servicexinetdstart
Startingxinetd:[OK]
[root@jie1~]#netstat-pant|grep873
tcp00:::873:::*LISTEN19876/xinetd


sersync+web客户真个设置:
1)、先下载安装sersync软件,做初始设置
.代码以下:

[root@jie3~]#wget--no-check-certificatehttps://sersync.googlecode.com/files/sersync2.5_64bit_binary_stable_final.tar.gz
[root@jie3~]#ls
anaconda-ks.cfginstall.log.syslog
install.logsersync2.5_64bit_binary_stable_final.tar.gz
mkdir/usr/local/sersync
[root@jie3~]#mkdir-pv/usr/local/sersync/{conf,bin,log}
mkdir:createddirectory`/usr/local/sersync
mkdir:createddirectory`/usr/local/sersync/conf
mkdir:createddirectory`/usr/local/sersync/bin
mkdir:createddirectory`/usr/local/sersync/log
[root@jie3~]#tarxfsersync2.5_64bit_binary_stable_final.tar.gz
[root@jie3~]#cdGNU-Linux-x86/
[root@jie3GNU-Linux-x86]#ls
confxml.xmlsersync2
[root@jie3GNU-Linux-x86]#mvconfxml.xml/usr/local/sersync/conf/
[root@jie3GNU-Linux-x86]#mvsersync2/usr/local/sersync/bin/
[root@jie3GNU-Linux-x86]#cd/usr/local/sersync/
[root@jie3sersync]#echo"PATH=/usr/local/sersync/bin:$PATH">>/etc/profile.d/sersync.sh
[root@jie3sersync]#source/etc/profile.d/sersync.sh
[root@jie3sersync]#echo"pwd123">/usr/local/sersync/sersync.pwd
[root@jie3sersync]#chmod600/usr/local/sersync/sersync.pwd


2)、修正sersync的设置文件
.代码以下:

[root@jie3sersync]#vim/usr/local/sersync/conf/confxml.xml
#########################################################################<?xmlversion="1.0"encoding="ISO-8859-1"?>
<headversion="2.5">
#设置当地的ip地点和监听的端口
<hosthostip="172.16.22.3"port="8008"></host>
#debug形式是不是开启
<debugstart="false"/>
#xfs文件体系是不是开启
<fileSystemxfs="false"/>
#同步时,是不是撑持正则表达式,默许封闭
<filterstart="false">
<excludeexpression="(.*).svn"></exclude>
<excludeexpression="(.*).gz"></exclude>
<excludeexpression="^info/*"></exclude>
<excludeexpression="^static/*"></exclude>
</filter>
#设置要监控的事务
<inotify>
<deletestart="true"/>
<createFolderstart="true"/>
<createFilestart="false"/>
<closeWritestart="true"/>
<moveFromstart="true"/>
<moveTostart="true"/>
<attribstart="false"/>
<modifystart="false"/>
</inotify>
#同步的设置
<sersync>
#同步的路径,当地的目次
<localpathwatch="/website">
#rsync服务器的ip地点和rsync设置文件内里界说的模块
<remoteip="172.16.22.1"name="htdocs"/>
#<!---->括起来暗示正文
<!--<remoteip="192.168.8.39"name="tongbu"/>-->
<!--<remoteip="192.168.8.40"name="tongbu"/>-->
</localpath>
<rsync>
#rsync指令参数
<commonParamsparams="-artuz"/>
#rsync同步认证设置的内容,user指定用户名,password指定寄存暗码的文件路径
<authstart="true"users="backuper"passwordfile="/usr/local/sersync/sersync.pwd"/>
#设置rsync远程服务端口
<userDefinedPortstart="false"port="874"/><!--port=874-->
#设置超不时间
<timeoutstart="true"time="100"/><!--timeout=100-->
#设置ssh加密传输形式,默许封闭
<sshstart="false"/>
</rsync>
#设置sersync传输失利日记剧本路径
<failLogpath="/tmp/rsync_fail_log.sh"timeToExecute="60"/><!--defaultevery60minsexecuteonce-->
#设置rsync+crontab准时传输,默许封闭
<crontabstart="false"schedule="600"><!--600mins-->
<crontabfilterstart="false">
<excludeexpression="*.php"></exclude>
<excludeexpression=#"/*"></exclude>
</crontabfilter>
</crontab>
#设置sersync传输后挪用name指定的插件剧本,默许封闭
<pluginstart="false"name="command"/>
</sersync>
#插件剧本典范
<pluginname="command">
<paramprefix="/bin/sh"suffix=""ignoreError="true"/><!--prefix/opt/tongbu/mmm.shsuffix-->
<filterstart="false">
<includeexpression="(.*).php"/>
<includeexpression="(.*).sh"/>
</filter>
</plugin>
</head>
#######################################################################


考证完成同步:

.代码以下:

###sersync客户真个,开启同步机制,举行监控,然后创立文件
[root@jie3website]#sersync2-r-d&
[root@jie3~]#cd/website/
[root@jie3website]#touchindex.htmltestdb.phptest.htmltest.php
###rsync服务器端,检察能够来着sersync客户真个同步文件
[root@jie1~]#cd/web/htdocs/
[root@jie1htdocs]#ls
index.htmltestdb.phptest.htmltest.php
[root@jie1htdocs]#


4、unison+inotify完成web数据双向同步

Unison是一款跨平台的文件同步工具,不但支持当地对当地同步,也支持经过历程SSH、RSH和Socket等搜集和谈举行同步。
Unison支持双向同步利用,你既能够从A同步到B,也能够从B同步到A,这些都不必要分外的设定。
1)、两个服务器都编译安装这三个源码包:(在此我只写一台服务器的编译安装历程)
.代码以下:

[root@jie1~]#wgetftp://distro.ibiblio.org/slitaz/sources/packages-2.0/o/ocaml-3.10.2.tar.gz
[root@jie1~]#wgethttp://freebsd.ntu.edu.tw/FreeBSD/ports/distfiles/unison-2.32.52/unison-2.32.52.tar.gz
[root@jie1~]#wgethttp://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
[root@jie1~]#ls
anaconda-ks.cfginstall.logocaml-3.10.2.tar.gz
inotify-tools-3.14.tar.gzinstall.log.syslogunison-2.32.52.tar.gz
[root@jie1~]#tarxfinotify-tools-3.14.tar.gz
[root@jie1~]#tarxfocaml-3.10.2.tar.gz
[root@jie1~]#tarxfunison-2.32.52.tar.gz
##编译安装inotify
[root@jie1~]#cdinotify-tools-3.14
[root@jie1inotify-tools-3.14]#./configure--prefix=/usr/local/inotify&&make&&makeinstall
[root@jie1inotify-tools-3.14]#cd/usr/local/inotify/
##修正PATH情况变量
[root@jie1inotify]#echo"PATH=/usr/local/inotify/bin:$PATH">/etc/profile.d/inotify.sh
[root@jie1inotify]#source/etc/profile.d/inotify.sh
##增加库文件到体系辨认的路径
[root@jie1inotify]#echo"/usr/local/inotify/lib">/etc/ld.so.conf.d/inotify.conf
[root@jie1inotify]#ldconfig-v|grepinotify
/usr/local/inotify/lib:
libinotifytools.so.0->libinotifytools.so.0.4.1
##链接库文件到体系辨认的路径
[root@jie1inotify]#ln-sv/usr/local/inotify/include//usr/include/inotify
`/usr/include/inotify->`/usr/local/inotify/include/
##编译安装ocaml,unison依附于ocaml
[root@jie1inotify]#cd/root/ocaml-3.10.2
[root@jie1ocaml-3.10.2]#./configure
[root@jie1ocaml-3.10.2]#makeworldopt
[root@jie1ocaml-3.10.2]#makeinstall
##编译安装unison
[root@jie1ocaml-3.10.2]#cd/root/unison-2.32.52
##安装依附性包
[root@jie1unison-2.32.52]#yum-yinstallctags-etags
[root@jie1unison-2.32.52]#makeUISTYLE=text
##makeinstall会提醒毛病,此毛病就是要你cpunison/usr/local/bin,复制便可
[root@jie1unison-2.32.52]#makeinstall
[root@jie1unison-2.32.52]#cpunison/usr/local/bin


2)、服务器A天生的公钥传到服务器B上:
.代码以下:

##把服务器A天生的公钥传到服务器B上####
[root@jie1~]#ssh-keygen-trsa#天生ssh的密钥对
[root@jie1~]#scp~/.ssh/id_rsa.pub172.16.22.3:/root#天生的密钥在家目次的ssh文件中,ssh文件为埋没文件,经由过程scp复制到服务器B上
[root@jie3~]#mvid_rsa.pub.ssh/authorized_keys#在服务器B上把服务器A传来的公钥文件更名并寄存到ssh目次下
[root@jie3~]#chmod600.ssh/authorized_keys#给公钥文件改权限为600
[root@jie1~]#servicesshdrestart#重启sshd服务
Stoppingsshd:[OK]
Startingsshd:[OK]
[root@jie1~]#


3)、服务器B天生的公钥传到服务器A上:
.代码以下:

##把服务器B天生的公钥传到服务器A上####
[root@jie3~]#ssh-keygen-trsa#天生ssh的密钥对
[root@jie3~]#scp~/.ssh/id_rsa.pub172.16.22.1:/root#天生的密钥在家目次的ssh文件中,ssh文件为埋没文件,经由过程scp复制到服务器B上
[root@jie1~]#mvid_rsa.pub.ssh/authorized_keys#在服务器A上把服务器B传来的公钥文件更名并寄存到ssh目次下
[root@jie1~]#chmod600.ssh/authorized_keys#给公钥文件改权限为600
[root@jie3~]#servicesshdrestart#重启sshd服务
Stoppingsshd:[OK]
Startingsshd:[OK]
[root@jie3~]#


4)、分离搭建web服务,服务器A的网页文件寄存路径为/web/htdocs,服务器B的网页寄存路径为/website
.代码以下:

##服务器A搭建web的设置
[root@jie1/]#vim/etc/httpd/conf/httpd.conf
########################################
ServerName172.16.22.1:80
#DocumentRoot"/var/www/html"
<VirtualHost*:80>
ServerNamewww.jie.com
DocumentRoot/web/htdocs
</VirtualHost>
#######################################
[root@jie1~]#mkdir-pv/web/htdocs
[root@jie1~]#cd/web/htdocs/
[root@jie1htdocs]#ls
[root@jie1htdocs]#
##服务器B搭建web的设置
[root@jie3/]#vim/etc/httpd/conf/httpd.conf
########################################
ServerName172.16.22.3:80
#DocumentRoot"/var/www/html"
<VirtualHost*:80>
ServerNamewww.jie.com
DocumentRoot/website
</VirtualHost>
#######################################
[root@jie3/]#mkdir/website
[root@jie3/]#httpd-t
SyntaxOK
[root@jie3/]#servicehttpdstart
Startinghttpd:[OK]
[root@jie3~]#cd/website/
[root@jie3website]#ls
[root@jie3website]#


5)、编unison同步的剧本举行测试
.代码以下:

##服务器A的剧本
[root@jie1~]#vimserA.sh
######################################################################
#/bin/bash
ipB="172.16.22.3"
srcA="/web/htdocs"
dstB="/website"
/usr/local/inotify/bin/inotifywait-mrq-ecreate,delete,modify,move$srcA|whilereadline;do
/usr/local/bin/unison-batch$srcAssh://$ipB/$dstB
echo-n"$line">>/var/log/inotify.log
echo`date|cut-d""-f1-4`>>/var/log/inotify.log
done
#####################################################################
##服务器B的剧本
[root@jie3~]#vimserB.sh
#####################################################################
#/bin/bash
ipA="172.16.22.1"
srcB="/website"
dstA="/web/htdocs"
/usr/local/inotify/bin/inotifywait-mrq-ecreate,delete,modify,move$srcB|whilereadline;do
/usr/local/bin/unison-batch$srcBssh://$ipA/$dstA
echo-n"$line">>/var/log/inotify.log
echo`date|cut-d""-f1-4`>>/var/log/inotify.log
done
#####################################################################
##服务器A的测试
[root@jie1~]#sh-xserA.sh#先运转unison同步剧本,检察历程
[root@jie1~]#cd/web/htdocs/
[root@jie1htdocs]#touchserA.txtSerA.htmlSerA.php#然后创立文件
[root@jie1htdocs]#ls
SerA.htmlSerA.phpserA.txtSerB.htmlSerB.phpSerB.txt
##服务器B的测试
[root@jie3~]#sh-xserB.sh
[root@jie3~]#cd/website/
[root@jie3website]#touchSerB.txtSerB.htmlSerB.php
[root@jie3website]#ls
SerA.htmlSerA.phpserA.txtSerB.htmlSerB.phpSerB.txt
###=====能够把剧本设置开机自启,放到rc.local文件中,且放在背景运转


本文出自“手艺之路---桀”博客,请务必保存此出处http://litaotao.blog.51cto.com/6224470/1286871

使用gcc或g++进行编译,使用gdb进行调试;
分手快乐 该用户已被删除
沙发
发表于 2015-1-24 12:03:46 | 只看该作者
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
山那边是海 该用户已被删除
板凳
发表于 2015-2-1 10:24:10 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-7 04:42:02 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
金色的骷髅 该用户已被删除
5#
发表于 2015-2-20 18:35:37 | 只看该作者
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
简单生活 该用户已被删除
6#
发表于 2015-3-13 07:09:28 | 只看该作者
当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。
再见西城 该用户已被删除
7#
发表于 2015-3-20 16:38:54 | 只看该作者
我想即使Linux高手也很难快速准确精练的回答你。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 07:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表