$ echo xx.xx.xx.xx | fab -- hostname $ echo xx.xx.xx.xx | fab -- sudo cat /etc/shadow $ fab local_hostname $ fab -l |grep test. # check options $ echo xx.xx.xx.xx | fab test.hostname $ fhghost.sh "*" hosts/test | fab test.hostname
import sys, os
from fabric.api import *
from fabric.contrib import files
from datetime import datetime
FHLINUX=os.environ["FHLINUX"]
# test.local_hostname
@task
def local_hostname():
local('hostname')
# test.hostname
@task
def hostname():
run('hostname')
# test.sudo
@task
def sudo():
""" 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)