FastHandle - IT Operations Examples

FastHandle is fast operation tools for infrastructure configurations and tests.

User Tools

Site Tools


preparation:fhhome:test.py.html



Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
preparation:fhhome:test.py.html [2017/12/13 01:43]
kurihara
preparation:fhhome:test.py.html [2019/02/13 00:18] (current)
kurihara
Line 1: Line 1:
-~~NOTOC~~ 
 [[:index.html#Preparation|Top#Preparation]] [[:index.html#Preparation|Top#Preparation]]
 +====== $FHHOME/linux/fabfile/test.py ======
  
-====== fabfile/test.py ======+\\ 
 +{{INLINETOC}} 
 +\\
  
  
Line 14: Line 16:
 $ fab -l |grep test.    # check options $ fab -l |grep test.    # check options
  
-$ echo xx.xx.xx.xx | fab auth.test test.hostname +$ echo xx.xx.xx.xx | fab  test.hostname 
-$ fhghost.sh "*" hosts/test | fab auth.test test.hostname+$ fhghost.sh "*" hosts/test | fab  test.hostname
 </sxh> </sxh>
  
Line 22: Line 24:
  
 <sxh bash toolbar:false gutter:false> <sxh bash toolbar:false gutter:false>
-import sys+import sys, os
 from fabric.api import * from fabric.api import *
 from fabric.contrib import files from fabric.contrib import files
 +from datetime import datetime
  
 +FHLINUX=os.environ["FHLINUX"]
 +
 +# test.local_hostname
 @task @task
 def local_hostname(): def local_hostname():
     local('hostname')     local('hostname')
  
 +# test.hostname
 @task @task
 def hostname(): def hostname():
     run('hostname')     run('hostname')
  
 +
 +# test.sudo
 @task @task
-def cat_etc_shadow():+def sudo(): 
 +    """ sudo cat /etc/shadow """
     sudo('cat /etc/shadow')     sudo('cat /etc/shadow')
 +
 +
 +# test.arg1:hostname
 +@task
 +def arg1(cmd):
 +    """ fab test.arg1:hostname """
 +    run('%s' % cmd)
 +
 +
 +# test.arg2:hostname,whoami
 +@task
 +def arg2(cmd1, cmd2):
 +    """ fab test.arg2:hostname,whoami """
 +    run('%s' % cmd1)
 +    run('%s' % cmd2)
 +    run('%s ; %s' % (cmd1, cmd2) )
 +
 +
 +# test.put
 +@task
 +def put():
 +    date = datetime.now().strftime('%Y%m%d_%H%M')
 +    local('hostname > /tmp/test.%s' % date)
 +    put('/tmp/test.%s' % date, '/tmp/test.%s' % date)
 +    run('ls -lh /tmp/test.%s' % date)
 +    run('cat /tmp/test.%s' % date)
 +
 +# test.get
 +@task
 +def get():
 +    date = datetime.now().strftime('%Y%m%d_%H%M')
 +    run('hostname > /tmp/test.%s' % date)
 +    get('/tmp/test.%s' % date, '/tmp/test.%s' % date)
 +    local('ls -lh /tmp/test.%s' % date)
 +    local('cat /tmp/test.%s' % date)
  
 </sxh> </sxh>


preparation/fhhome/test.py.html.1513097034.txt.gz · Last modified: 2017/12/13 01:43 by kurihara