国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python 實現文件打包、上傳與校驗的方法

2020-02-16 01:08:29
字體:
來源:轉載
供稿:網友

不多說,我們直接上源碼:

# -*- coding:UTF-8 -*-'''實現文件打包、上傳與校驗Created on 2018年1月12日@author: liuyazhuang''' from fabric.api import *from fabric.context_managers import *from fabric.contrib.console import confirm env.user = 'root'env.hosts = ['10.2.2.2']env.password = 'cardio-2017' @task@runs_oncedef tar_task():  #本地打包任務函數,只限執(zhí)行一次  with lcd("/data/logs"):    local("tar -czf access.tar.gz access.log")     @taskdef put_task():   #上傳文件任務函數  run("mkdir -p /nginx/logs")  with cd("/nginx/logs"):    #put(上傳操作)出現異常時,繼續(xù)執(zhí)行,非終止    with settings(warn_only = True):      result = put("/data/logs/access.tar.gz", "/nginx/logs/access.tar.gz")    if result.failed and not confirm("put file failed, Contiunue[Y/N]?"):      #出現異常時,確認用戶是否繼續(xù),(Y繼續(xù))      abort("Aborting file put task!") @taskdef check_task():  #校驗文件任務函數  with settings(warn_only = True):    #本地local命令需要配置capture=True才能捕獲返回值    lmd5 = local("md5sum /data/logs/access.tar.gz", capture=True).split(' ')[0]    rmd5 = run("md5sum /nginx/logs/access.tar.gz").split(' ')[0]    #對比本地與遠程文件的md5信息    if lmd5 == rmd5:      print "OK";    else:      print "ERROR" @taskdef execute():   #統(tǒng)一執(zhí)行tar_task()、put_task()、check_task()  tar_task()  put_task()  check_task()

本實例分別定義了3個功能函數,實現了文件的打包、上傳和校驗的功能,且3個功能相互獨立,可分開運行

fab -f file_handler.py tar_task  #文件打包操作fab -f file_handler.py put_task  #文件上傳操作fab -f file_handler.py check_task #文件校驗操作

也可以通過以下命令組合在一起運行

fab -f file_handler.py execute

以上這篇Python 實現文件打包、上傳與校驗的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇左市| 萝北县| 峨边| 屏东市| 台州市| 曲阳县| 嘉兴市| 商南县| 北票市| 修武县| 资中县| 石嘴山市| 咸丰县| 柯坪县| 锡林浩特市| 新丰县| 永昌县| 搜索| 邛崃市| 石柱| 泉州市| 呼玛县| 万山特区| 邵阳市| 灵丘县| 永德县| 青海省| 高雄县| 汉沽区| 沙河市| 措美县| 雷波县| 洪雅县| 梓潼县| 湄潭县| 寿阳县| 怀来县| 福鼎市| 张家港市| 墨玉县| 枞阳县|