Python Fabric
- 원격 SSH Remote를 이용한 Shell Command 실행기
- Deploy, 인프라 Provisioning 등에서 사용을 할 수 있다.
- SSH Key로 이용하여 원격 컨트롤 할수 있다
Single Command
>>> from fabric import SerialGroup
>>> result = SerialGroup('web1', 'web2').run('hostname')
web1
web2
>>> # Sorting for consistency...it's a dict!
>>> sorted(result.items())
[(<Connection host=web1>, <Result cmd='hostname' exited=0>), ...]
Command with python code
>>> # NOTE: Same code as above!
>>> def disk_free(c):
... uname = c.run('uname -s', hide=True)
... if 'Linux' in uname.stdout:
... command = "df -h / | tail -n1 | awk '{print $5}'"
... return c.run(command, hide=True).stdout.strip()
... err = "No idea how to get disk space on {}!".format(uname)
... raise Exit(err)
...
>>> for cxn in SerialGroup('web1', 'web2', 'db1'):
... print("{}: {}".format(cxn, disk_free(cxn)))
<Connection host=web1>: 33%
<Connection host=web2>: 17%
<Connection host=db1>: 2%
'Programing > Python' 카테고리의 다른 글
OpenpyXL를 이용하여 Excel 파일 읽기 (1) | 2017.06.27 |
---|