码迷,mamicode.com
首页 > 其他好文 > 详细

fabric的operations(操作)类

时间:2015-08-16 00:49:50      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:fabric   python   

1.调用方法:
from fabric.api import require,pormpt,put,get,run,sudo,local,reboot,open_shell

from fabric.operations import require,pormpt,put,get,run,sudo,local,reboot,open_shell

2.方法的使用:
(1)require    #检查你在env.的环境变量中是否有值(即不为None),如果有,则继续执行,否则将退出

(2)prompt    #提示:类似一个raw_input,提供一个交互接口,用来保存一个字符串
    例:
    def prompt_test():
      path=prompt(‘输入一个路径:‘)
      run(‘ls %s‘ % path)
    输出:
    [root@salt-monion-1 gyk_fab]# fab -f operations_test.py prompt_test
    [192.168.1.219] Executing task ‘prompt_test‘
    输入一个路径: /home      
    [192.168.1.219] run: ls /home    
    [192.168.1.200] Executing task ‘prompt_test‘
    输入一个路径: /home
    [192.168.1.200] run: ls /home
    [192.168.1.200] out: eventlisten.py
    [192.168.1.200] out:


    Done.
    Disconnecting from 192.168.1.200... done.
    Disconnecting from 192.168.1.219... done.
    
(3)put    #上传本地文件到远程主机    
    例:
    def put_test():
      put(‘/tmp/dir/1‘,‘/tmp/dir_test‘)
    输出:
    [root@salt-monion-1 gyk_fab]# fab -f operations_test.py put_test
    [192.168.1.219] Executing task ‘put_test‘
    [192.168.1.219] put: /tmp/dir/1 -> /tmp/dir_test/1
    [192.168.1.200] Executing task ‘put_test‘
    [192.168.1.200] put: /tmp/dir/1 -> /tmp/dir_test/1

    Done.
    Disconnecting from 192.168.1.200... done.
    Disconnecting from 192.168.1.219... done.
    
(4)get #从远程主机下载文件到本地,但是这只能对应1台主机,不然传过来的文件名相同,会报错的(因此不能当做批量下载来使用)。
 
(5)run     #执行系统命令,当warn_only=True是,你可以用一个变量来接收它(变量=run()),然后用 变量.succeeded查看命令是否执行成功了。

(6)sudo和local 用sudo cmd的方式执行命令 && 只在本地执行命令(即不会在远程主机上执行)

(7)reboot 重启主机,但它有一个好处,就是当主机重启时,fabric会进入等待,当你重启以后,它会继续执行后面的内容

(8)open_shell自动连接到另一个终端上,重新打开一个shell。



本文出自 “我的天空” 博客,谢绝转载!

fabric的operations(操作)类

标签:fabric   python   

原文地址:http://sky66.blog.51cto.com/2439074/1684904

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!