国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 卢湾区| 思茅市| 雅江县| 内丘县| 大英县| 玛多县| 碌曲县| 周宁县| 康定县| 铅山县| 独山县| 阿坝| 望谟县| 左云县| 仁怀市| 祥云县| 托里县| 甘孜| 博乐市| 綦江县| 嫩江县| 丰镇市| 乐昌市| 衡水市| 启东市| 南汇区| 三河市| 阜城县| 江达县| 孝感市| 宁陵县| 龙州县| 游戏| 探索| 湘阴县| 托里县| 平和县| 获嘉县| 苗栗市| 崇左市| 松溪县|