多服务器管理工具fablinker

5 篇文章 0 订阅
3 篇文章 0 订阅

1.fablinker是什么

fablinker是本人自主开发的一个多服务器项目部署和管理的工具。基于python 2.7 ,用到fabric第三方库,在一台服务器上可管理控制多个远程主机,目前V0.01已开发完成。

使用前提是多个服务器之前可以通过ssh互联。具体配置请在网上搜索。

开源代码:https://github.com/gangly/fablinker

 

2.应用场景

2.1 项目部署

比如分布式爬虫部署在12台机器上,一旦代码更改,那么所有worker上的代码都要更新。

当然你可以写一个shell脚本,用12个scp命令从master上将代码拷贝到worker上,但是相对麻烦一点。

用fablinker工具只需一个put命令搞定。

然后我还需要kill掉所有worker进程,重新启动程序。没办法,这样你就只有一个个登录worker服务器,用kill,sh  **.py命令依次执行。

用fablinker工具只需kill 和 sh **.py两条命令搞定。

如果我还要将各个woker上生成的数据 data.dat收集起来,同样你可以写shell脚本用12个scp命令。

用fablinker工具只需一个get命令搞定。


2.2 运维

比如公司给咱蜂鸟分配了50台服务器,现在需要个每台服务器安装些软件,配置些环境。可以写个shell脚本,然后用scp将脚本分发到各个服务器上,

依次登录各个服务器,执行该shell脚本。

用fablinker可以在所有服务器上执行命令,当然也支持批处理和root权限(正在开发中,v0.02完成)。


3.fablinker有哪些功能

put : 从本地主机上分发文件至所有远程主机

get : 从远程主机上收集文件至本地主机

fab shellcmd : 在所有远程主机上执行shellcmd命令, 比如 ls , php  test.php, kill 

fab vim test.txt : 依次打开所有远程主机上的test.txt文件,可写入,更改, 保存。

!cmd   可以在本地执行命令


4. 特点

4.1 配置文件

首先你需要创建个你自己的目录,填写简单的配置文件(默认为fabconf.ini)。

 

[baseconf]
user = work
password = **
parallel = False
[host_groups]
Group0 = [192.168.181.132,192.168.181.133,192.168.181.134]

spider = [192.168.181.132192.168.181.137192.168.181.134192.168.181.139]

上面就是简单的配置文件:

baseconf选项是一些基本配置

user是ssh账号名,

password :登录密码

parallel :多个远程主机是否并行运行命令 , 当然在用fab命令的时候可以加参数动态更改并行选项。注意fab vim 命令不能并行执行,将直接导致错误!

 

host_groups配置主机分组,可将用于不同项目的主机分组管理。主机间用逗号分隔。

这里创建了Group0,和spider组,可以用at命令切换到不同组,操作不同的远程主机。

 

如果你的当前目录下存在fabconf.ini文件直接运行 fablinker命令,当然可以用fablinker -f  tmp.ini 来指定不同的配置文件。

4.2 人性化

采用命令行交互式

所有命令的使用方法都可以通过输入help命令来查看

对于不同项目的主机可以通过addgrp增加分组,at命令切换到其他分组或单台主机上。

返回结果有警告和错误的会以不同颜色标识:

 

所有的更改配置的操作,当程序退出时会自动保存到配置文件中,比如用addgrp新增分组。

需要在远程主机后台执行命令只需要加上&,  比如 php hello.php &


如果要在本地服务器上运行命令:!cmd

>>!date

>>!python hello.py 


批量执行命令:将要执行的命令放入一个文件中

fab bt  cmd.txt

其中cmd.txt文件中一行一个命令

 

4.3 如何使用


在work账户下只需要输入fablinker命令即可:

1)新建一个你自己的目录,创建配置文件,可将/home/work/fabconf.ini文件拷贝到你的目录,然后修改里面的远程主机组(参考4.1)

2)如果你的配置文件名就是fabconf.ini,可直接输入fablinker命令运行;如果是其他名字,比如conf.txt, 那么输入fablinker -f conf.txt

3)使用help可查看所有命令,help cmd,可查看cmd命令使用方法

4)fab date 运行试试,会有惊喜!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值