Skip to main content

A tool for operating servers.

Project description

# fablinker
1.fablinker是什么
fablinker是一个多服务器项目部署和管理的工具。基于python 2.7 ,用到fabric第三方库,在一台服务器上可管理控制多个远程主机,目前V0.01已开发完成。
![原理图](https://github.com/gangly/fablinker/blob/master/fab.png)

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 : 从远程主机上收集文件至本地主机,将远程主机文件都搜集到本机并将文件名带上主机名,-n参数,将远程文件名加上数字
* at: 切换到某个单机,或者切换到某个机器组
* addgrp: 动态机器分组
* fab shellcmd : 在所有远程主机上执行shellcmd命令, 比如 ls , php test.php, kill
* fab vim test.txt : 依次打开所有远程主机上的test.txt文件,可写入,更改, 保存。
* !cmd 可以在本地执行命令

更多信息请查看wiki:http://blog.csdn.net/freefishly/article/details/50748483

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for fablinker, version 1.1.9
Filename, size File type Python version Upload date Hashes
Filename, size fablinker-1.1.9.tar.gz (17.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page