Chinaunix首页 | 论坛 | 博客
  • 博客访问: 482487
  • 博文数量: 78
  • 博客积分: 995
  • 博客等级: 准尉
  • 技术积分: 1462
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-15 20:22
个人简介

技术中沉思的时候最快乐,问题得到完美解决的时候最有成就感!

文章分类

全部博文(78)

文章存档

2013年(39)

2012年(37)

2011年(2)

分类: Python/Ruby

2012-05-18 13:34:38

重启了一批节点,需要查看节点重启后的状态;
发现原来写简单的python还是不够用;于是又加了:

点击(此处)折叠或打开

  1. def load_pwd(fp):
  2.         fd = open(fp, "r")
  3.         for el in fd:
  4.                 el.strip()
  5.                 ap = el.split()
  6.                 if len(ap) != 3:
  7.                         continue
  8.                 env.passwords["root@%s.xxxx"%(ap[0])] = ap[2]


  9. load_pwd('***')

  10. env.roledefs = {
  11.     'rc': ['xxx', 'oooo']
  12. }

  13. @roles('rc')
  14. def host_type():
  15.         run('uname -s')
  16.         with cd('/usr/local/xxx'):
  17.                 ret = run('ls -l')
  18.                 print "====================="
  19.                 print ret.succeeded,ret.return_code
  20.                 print ret
  21.                 print "====================="

  22. def ec(cmd):
  23.         print(red("\n---------------start shell-------------------------------- |%s|\n"%(env.host)))
  24.         run(cmd)
  25.         print(green("---------------end shell---------------------------------- |%s|\n\n"%(env.host)))

  26. def ef(shell_file):
  27.         shell = ""
  28.         try:
  29.                 fd = open(shell_file, "r")
  30.                 shell = fd.read()
  31.         except:
  32.                 print "cant open file"
  33.                 exit()
  34.         ec(shell)

改动优化:
1,加入了自动加载 passwords;
2,在上一次的尝试加入了 role 的概念,这样更方便系统维护
3,可以直接在命令行中输入命令,这样对于一些简单的操作就不需要再去写 shell 脚本了;非常方便;

使用:

fab ec:"ps -ef | grep /usr/local/xxx | grep -v grep" -R rc -f a.py

阅读(981) | 评论(0) | 转发(0) |
0

上一篇:fabric 试用记

下一篇:nginx+lua 项目使用记

给主人留下些什么吧!~~