gangly / fablinker

A tool for operating multiple servers interactively. 交互式多服务器自动化运维工具,简单易用
34 stars 11 forks source link
ansible fabric multiple-mechine

fablinker

1.fablinker是什么

fablinker是一个类似ansible开源自动化运维工具,在一台服务器上可管理控制多个远程主机。

基于fabric开发,兼容python2.7、python3+。 相对ansible和fabric,fablinker基于命令行交互式操作,使用起来更加方便快捷。

使用前首先需要确保所有机器能用ssh连接。具体使用请查看应用场景章节。 文档同步更新在github, https://github.com/gangly/fablinker

架构图

2.fablinker有哪些功能

在远程多机器执行命令

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

工具特点

3. 安装和使用

安装

方法1.下载源码安装

下载源码压缩包,解压后在目录中运行:

python setup.py install

方法2.pip安装

pip install fablinker

上面两种方法都会在当前用户的home目录下创建一个.fablinker目录,并在目录里创建默认配置文件fabconf.ini

具体路径为~/.fablinker/fabconf.ini

修改配置文件

可以到~/.fablinker修改默认配置文件fabconf.ini。 直接在命令行执行fablinker,将使用默认配置文件

如果需要使用其他配置文件,可以自己创建一个文件,并在运行命令时指定该配置文件路径

fablinker -f  myconf.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.132, 192.168.181.137, 192.168.181.134, 192.168.181.139]

baseconf选项是一些基本配置

user:可用ssh登录其他机器的用户名,

password :登录密码,没有密码为空

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

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

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

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

4. 应用场景

具体应用场景举例

5. 命令详解

命令详解

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

运行示例

在hdfs01-hdfs05的5台机器上同时运行Free命令:

运行示例


给作者点个star或请作者喝杯咖啡

喝杯咖啡