Fabric模块
fabric是基于paramiko模块封装开发的,paramiko更底层
安装,依赖pytcrypto,paramiko,要卸载python-pycrypto与python-paramiko
pip uninstall python-pycrypto
pip uninstall python-paramiko
pip uninstall pycrypto
yum install -y python-devel
一、安装fabric
[[email protected] ~]# pip install pycrypto==‘2.3‘ [[email protected] ~]# pip install paramiko==‘1.12.4‘ [[email protected] ~]# pip install fabric==‘1.8.3‘ [[email protected] ~]# pip list DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. ansible (2.1.0.0) backports.shutil-get-terminal-size (1.0.0) cffi (1.9.1) cryptography (1.7.2) decorator (4.0.11) Django (1.10.7) ecdsa (0.13) enum34 (1.1.6) Fabric (1.8.3) idna (2.2) ipaddress (1.0.18) ipython (5.3.0) ipython-genutils (0.2.0) Jinja2 (2.9.5) MarkupSafe (0.23) mysql-connector-python (2.1.1) MySQL-python (1.2.3) paramiko (1.12.4) pathlib2 (2.2.1) pexpect (4.2.1) pickleshare (0.7.4) pip (9.0.1) prompt-toolkit (1.0.14) ptyprocess (0.5.1) pyasn1 (0.2.2) pycparser (2.17) pycrypto (2.3) Pygments (2.2.0) PyYAML (3.12) scandir (1.5) setuptools (19.6) simplegeneric (0.8.1) site (0.0.1) six (1.10.0) traitlets (4.3.2) wcwidth (0.1.7) [[email protected] ~]# python Python 2.7.3 (default, Jan 18 2017, 18:39:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import paramiko >>> import fabric >>>
二、fabric的使用
[[email protected] managehosts]# vim fabfile.py from fabric.api import run def host_type(): run(‘uname -a‘) [[email protected] managehosts]# fab -H 112.65.140.13 host_type [112.65.140.133] Executing task ‘host_type‘ [112.65.140.133] run: uname -a [112.65.140.133] out: Linux 133 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [112.65.140.133] out: Done. [[email protected] managehosts]# vim fabfile.py from fabric.api import run, env env.hosts = [‘112.65.140.133‘,‘112.65.140.132‘] env.user = ‘root‘ env.password = ‘****‘ def host_type(): run(‘uname -a‘) [[email protected] managehosts]# fab host_type [112.65.140.133] Executing task ‘host_type‘ [112.65.140.133] run: uname -a [112.65.140.133] out: Linux 133 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [112.65.140.133] out: [112.65.140.132] Executing task ‘host_type‘ [112.65.140.132] run: uname -a [112.65.140.132] out: Linux client 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [112.65.140.132] out: Done. Disconnecting from 112.65.140.133... done. Disconnecting from 112.65.140.132... done.
时间: 2024-10-16 12:01:14