亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

用Python寫腳本,實現(xiàn)完全備份和增量備份的示例

 更新時間:2018年04月29日 08:48:14   作者:huangyingleo  
下面小編就為大家分享一篇用Python寫腳本,實現(xiàn)完全備份和增量備份的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

需求:

在/root/backup下面有兩個文件夾dst和src。要求在周一的時候進行完全備份,其余日子進行增量備份。從src備份到dst。

思路及關鍵點:

建立一個文件,以字典方式記錄src的文件名以及文件對應的md5的值

完全備份的時候?qū)⑽募蚼d5值寫在一個文件里面。cPickle的知識點。

增量備份的時候比較文件名是否在key里面,沒有就要備份;有的話,這個文件的md5值是否改變,改變了就要備份

os.path.join()拼接路徑,os.listdir(),os.chdir()

time.strftime()判斷周幾

cPickle,可以無損記錄所有Python的變量類型。文件操作。

tarfile對文件打包的使用

hashlib用于計算文件md5的值。注意不要一次打開一個文件,4k地打開,防止打開一個超大文件爆內(nèi)存。

with file()可以打開一個文件之后不f.close()

#!/usr/bin/env python
import time
import os
import cPickle as p
import tarfile
import hashlib
baseDir = '/root/backup'
srcDir = 'src'
dstDir = 'dst'
fullName = "full_%s_%s.tar.gz" % (srcDir, time.strftime('%Y%m%d'))
incrName = "incr_%s_%s.tar.gz" % (srcDir, time.strftime('%Y%m%d'))
md5file = 'md5.data'
def md5sum(fname):
 m = hashlib.md5()
 with file(fname) as f:
  while True:
   data = f.read(4096)
   if len(data) == 0:
    break
   m.update(data)
 return m.hexdigest()
def fullBackup():
 md5Dict = {}
 fileList = os.listdir(os.path.join(baseDir,srcDir))
 for eachFile in fileList:
  md5Dict[eachFile] = md5sum(os.path.join(baseDir,srcDir,eachFile))
 with file(os.path.join(baseDir,dstDir,md5file),'w') as f:
  p.dump(md5Dict,f)
 tar = tarfile.open(os.path.join(baseDir,dstDir,fullName),'w:gz')
 os.chdir(baseDir)
 tar.add(srcDir)
 tar.close()
def incrBackup():
 newmd5 = {}
 fileList = os.listdir(os.path.join(baseDir,srcDir))
 for eachFile in fileList:
  newmd5[eachFile] = md5sum(os.path.join(baseDir,srcDir,eachFile))
 with file(os.path.join(baseDir,dstDir,md5file)) as f:
  storedmd5 = p.load(f)
 tar = tarfile.open(os.path.join(baseDir,dstDir,incrName),'w:gz')
 os.chdir(baseDir)
 for eachKey in newmd5:
  if (eachKey not in storedmd5) or (newmd5[eachKey] != storedmd5[eachKey]):
   tar.add(os.path.join(srcDir,eachKey))
 tar.close()
 with file(os.path.join(baseDir,dstDir,md5file),'w') as f:
  p.dump(newmd5,f)
def main():
 if time.strftime('%a') == 'Mon':
  fullBackup()
 else:
  incrBackup()
if __name__ == '__main__':
 main()
~  

以上這篇用Python寫腳本,實現(xiàn)完全備份和增量備份的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Django實現(xiàn)drf搜索過濾和排序過濾

    Django實現(xiàn)drf搜索過濾和排序過濾

    當我們需要對后臺的數(shù)據(jù)進行過濾的時候,drf有兩種,搜索過濾和排序過濾。本文就詳細的介紹這兩種的實現(xiàn),感興趣的可以了解一下
    2021-06-06
  • Python中利用mpld3創(chuàng)建交互式Matplotlib圖表的代碼示例

    Python中利用mpld3創(chuàng)建交互式Matplotlib圖表的代碼示例

    mpld3 是一個 Python 庫,它將 Matplotlib 圖表轉(zhuǎn)換為 D3.js(JavaScript 繪圖庫)可解釋的格式,從而實現(xiàn)了在瀏覽器中顯示并交互的功能,在本文中,我們將介紹如何使用 mpld3 在 Python 中創(chuàng)建交互式 Matplotlib 圖表,并提供代碼示例,需要的朋友可以參考下
    2024-05-05
  • flask后端request獲取參數(shù)的幾種方式整理

    flask后端request獲取參數(shù)的幾種方式整理

    這篇文章主要為大家介紹了flask后端request獲取參數(shù)的幾種方式整理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • python3 實現(xiàn)函數(shù)寫文件路徑的正確方法

    python3 實現(xiàn)函數(shù)寫文件路徑的正確方法

    今天小編就為大家分享一篇python3 實現(xiàn)函數(shù)寫文件路徑的正確方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python list count統(tǒng)計個數(shù)的實現(xiàn)

    python list count統(tǒng)計個數(shù)的實現(xiàn)

    這篇文章主要介紹了python list count統(tǒng)計個數(shù)的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • python的類class定義及其初始化方式

    python的類class定義及其初始化方式

    這篇文章主要介紹了python的類class定義及其初始化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python字符串刪除指定字符的三個方法

    Python字符串刪除指定字符的三個方法

    這篇文章主要給大家介紹了關于Python字符串刪除指定字符的三個方法,我們在使用 Python處理字符串的時候,經(jīng)常會遇到一些字符串中出現(xiàn)了指定字符,需要的朋友可以參考下
    2023-07-07
  • Transformer導論之Bert預訓練語言解析

    Transformer導論之Bert預訓練語言解析

    這篇文章主要為大家介紹了Transformer導論之Bert預訓練語言解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python實現(xiàn)的爬蟲功能代碼

    Python實現(xiàn)的爬蟲功能代碼

    這篇文章主要介紹了Python實現(xiàn)的爬蟲功能,涉及Python使用urllib2、BeautifulSoup模塊實現(xiàn)網(wǎng)頁源碼的獲取、解析等相關操作技巧,需要的朋友可以參考下
    2017-06-06
  • 詳解python中GPU版本的opencv常用方法介紹

    詳解python中GPU版本的opencv常用方法介紹

    這篇文章主要介紹了詳解python中GPU版本的opencv常用方法介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07

最新評論