SVN化的WEB目录更新方案以及管理服务器群的PSSH并

对于系统管理员来说,大量服务器上操作相同的命令是不可避免的,但是这种工作重复枯燥,而且容易出错,尤其在文件同步问题上,对于网站系统来讲,一般往往是多机互备的模式,文件需要大量的同步工作,同时要控制版本问题,及时做好备份,我们目前初步定了一个方案,版本控制采用SVN的方式,分发工具我们采用pssh

2,Description--SVN以及PSSH介绍

SVN就不多说了,大家网上搜索资料,很多,这里面主要介绍PSSH工具,pssh是一个简单的字符界面并发向多个服务器发送指令进行执行的工具。适合一次性向集群大量服务器发送相同指令(并观察输出)。

如果需要图形界面的话,需要采用 ClusterSSH,比较简陋。

官方的主页为:

PSSH是个命令集合,主要常用的这么几条:

/usr/bin/pscp             //把文件并行的复制到多个主机上 
/usr/bin/pssh-askpass       
/usr/bin/pslurp           //把文件并行的从多个远程主机复制到中心主机上 
/usr/bin/pssh             //在多个主机上并行的运行命令 
/usr/bin/pnuke            //并行的在多个远程主机上杀死进程 
/usr/bin/prsync           //通过rsync协议把文件高效的并行复制到各个主机上 

3,Request--需求描述

我们网站经常需要更新一些内容,大多数以专题的形式存在,往常的操作,需要将本地文件配置好后,传到服务器上,那么对于一两台机器来说,还能接受操作的重复度,但是随着网站规模的扩大,那么急需一个并行处理的工具,我们采用了上面所说的PSSH工具。

测试环境: 
两台客户机:192.168.100.2,192.168.100.3 
一台服务器:192.168.100.1 部署SVN,PSSH 
方案:在其中一台服务器上搭建SVN服务器,将本地机器和专题服务器都做为客户端。分别CHECKOUT版本到各个客户端,以后更新,在本地机器上做SVNADD,更新至SVN服务器,再用PSSH分发到各个前端服务器上。 

4,Practice--步骤

4.1 SVN搭建

SVN搭建就不做过多的描述了,可以参见我以前写的一篇SVN文档。

CentOS下的搭建大同小异。

4.2 PSSH安装

下载PSSH安装包,地址:点击打开链接

解压后:
tar -vxf pssh-version.tar.gz
cd   pssh-version
Python setup.py build
python setup.py install

注:需要python环境,因为是用python开发的。

4.3 测试安装

终端中,输入pssh查看是否有命令提示。

4.4 PSSH使用前的问题

PSSH是个自动执行工具,所以会有与远程主机交互的问题,所以要能无需密码访问远程主机。

这里面涉及公钥私钥的一些密码学的概念,有兴趣的可以自行搜索一下。

我们现在只是运用一下生成工具。

命令如下:

#ssh-keygen  
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@ 192.168.100.2  
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@ 192.168.100.3 

执行完之后提示相关机器已经验证

我们可以用ssh命令登录一下两台客户端,看一下是否需要输入密码,如果直接登录到系统里面,表明OK了。

4.5 基本的PSSH使用指南

这里附上一些有用的链接,1,老版本的官方手册:2,

截图一个,有不同需求的可以参见手册

SVN化的WEB目录更新方案以及管理服务器群的PSSH并

同时提醒一下,PNUKE命令可是很强大的一个命令呢。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/4df62e83130ec0db93195c2c03a84eeb.html