python遠程服務操作工具:fabric,遠程命令、本地命令、服務器操作利器!


fabric是一款命令行工具,支持執行本地命令,執行遠程命令,上傳下載等。fabric像一個subprocess+paramiko的集合,又像一個更加輕量級的ansible,可以批量對服務進行操作

file

【閱讀全文】

安裝插件

'''
安裝fabric3
pip3 install fabric3
'''

# C:\Users\Administrator>pip3 install fabric3
# Collecting fabric3
#   Downloading Fabric3-1.14.post1-py3-none-any.whl (92 kB)
#      |████████████████████████████████| 92 kB 73 kB/s
# Requirement already satisfied: six>=1.10.0 in c:\python38\lib\site-packages (from fabric3) (1.15.0)

'''
查看版本信息
fab -V
'''
# C:\Users\Administrator>fab -V
# Fabric3 1.14.post1
# Paramiko 2.7.2

'''
查看幫助信息
fab -h
'''
# C:\Users\Administrator>fab -h
# Usage: fab [options] <command>[:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ...
#
# Options:
#   -h, --help            show this help message and exit
#   -d NAME, --display=NAME
#                         print detailed info about command NAM

遠程啟用應用

# 導入Connection連接對象
from fabric import Connection

def run():
    '''
    應用部署
    :return:
    '''
    # 連接服務器
    conn = Connection("docker@10.3.210.19", connect_kwargs={"password": "docker"})
    # 執行控制台命令
    with conn.cd('/usr/load/project'):
        # 拉取hello world的docker鏡像
        conn.run("docker pull hello world")
        # 啟動鏡像
        conn.run("docker run hello world")

本地命令執行

# 創建fabfile.py文件
# 導入本地local
from fabric.api import local

def hello_world():
    '''
    本地命令行
    :return:
    '''
    print("查看當前文件目錄")
    local("ll -a")

# 命令行調用函數
# $ fab hello_world

【往期精彩】

● python超贊插件you-get,執行一行命令即可下載、命令行下載工具推薦!

● 辦公自動化:Python-win32com自動將word文檔轉換成pdf格式!

● pandas數據統計插件的連接函數concat()妙用,靈活處理數據對象!

● Git LFS 3.0.0 發布,對大文件進行版本控制的 Git 擴展

● python有序序列的字典序列推導式運用技巧!

● Django 4.0 alpha 1 發布

● python經典有序序列的list列表推導式實踐運用

● python常用轉義字符串總結:各種字符轉義的不同、如何取消轉義字符效果?

● 推薦一款python、excel集成的數據分析工具PyXLL-Jupyter!

● 如何使用python完成對WebService服務的調用?suds-py3插件安利一下!

● 介紹一款優秀的IDE Grid Studio,Excel深度集成python,直接編寫並執行python代碼塊!

● 十大開源軟件基金會你知道哪些?

● python內置函數通過字符串的方式來執行函數代碼塊,類似java的反射機制相當強大!

● python-Coverage 代碼覆蓋率統計工具,生成html代碼報告


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM