python fabric使用笔记
fabric
title是开发,但是同时要干开发测试还有运维的活……为毛task*3不是salary*3(o(╯□╰)o)
近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高,导致时间浪费还是优点多。
修复bug什么的,测试,提交版本库(2分钟),ssh到测试环境pull部署(2分钟),rsync到线上机器A,B,C,D,E(1分钟),分别ssh到ABCDE五台机器,逐一重启(8-10分钟)=13-15分钟
其中郁闷的是,每次操作都是相同的,命令一样,要命的是在多个机器上,很难在本机一个脚本搞定,主要时间都浪费在ssh,敲命令上了,写成脚本,完全可以一键执行,花两分钟看下执行结果
直到,发现了fabric这货
作用
很强大的工具
可以将自动化部署或者多机操作的命令固化到一个脚本里
和某些运维工具很像,用它主要是因为,python…..
简单好用易上手
当然,shell各种命令组合起来也可以,上古神器和现代兵器的区别
环境配置
在本机和目标机器安装对应包(注意,都要有)
sudoeasy_installfabric
目前是1.6版本(或者用pipinstall,一样的)
安装完后,可以查看是否安装成功
[ken@~$]whichfab /usr/local/bin/fab
装完之后,可以浏览下官方文档http://docs.fabfile.org/en/1.6/
然后,可以动手了
helloworld
先进行本机简单操作,有一个初步认识,例子来源与官网
新建一个py脚本:fabfile.py
defhello(): print("Helloworld!")
命令行执行:
[ken@~/tmp/fab$]fabhello Helloworld!
Done.