亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python實現網站文件的全備份和差異備份

2020-02-23 06:14:46
字體:
來源:轉載
供稿:網友

之前有寫利用md5方式來做差異備份,但是這種md5方式來寫存在以下問題:

•md5sum獲取有些軟連接的MD5值存在問題
•不支持對空目錄進行備份,因為md5sum無法獲取空目錄的md5值
•權限的修改md5sum無法判斷

解決方案:

利用文件的mtime ctime

mtime(Modified time)是在寫入文件時隨文件內容的更改而更改的
ctime(Create time)是在寫入文件、更改所有者、權限或鏈接設置時隨Inode的內容更改而更改的
廢話不多說直接上代碼:

#!/usr/bin/env pythonimport time,os,sys,cPicklefileInfo = {}def logger(time,fileName,status,fileNum):  f = open('backup.log','a')  f.write("%s/t%s/t%s/t/t%s/n" % (time,fileName,status,fileNum))def tar(sDir,dDir,fileNum):  command = "tar zcf %s %s >/dev/null 2>&1" % (dDir + ".tar.gz",sDir)  if os.system(command) == 0:    logger(time.strftime('%F %X'),dDir + ".tar.gz",'success',fileNum)  else:    logger(time.strftime('%F %X'),dDir + ".tar.gz",'failed',fileNum)def fullBak(path):  fileNum = 0  for root,dirs,files in os.walk(path):    for name in files:      file = os.path.join(root, name)      mtime = os.path.getmtime(file)      ctime = os.path.getctime(file)      fileInfo[file] = (mtime,ctime)      fileNum += 1  f = open(P,'w')  cPickle.dump(fileInfo,f)  f.close()  tar(S,D,fileNum)def diffBak(path):  for root,dirs,files in os.walk(path):    for name in files:      file = os.path.join(root,name)      mtime = os.path.getmtime(file)      ctime = os.path.getctime(file)      fileInfo[file] = (mtime,ctime)  if os.path.isfile(P) == 0:    f = open(P,'w')    f.close()  if os.stat(P).st_size == 0:    f = open(P,'w')    cPickle.dump(fileInfo,f)    fileNum = len(fileInfo.keys())    f.close()    print fileNum    tar(S,D,fileNum)  else:    f = open(P)    old_fileInfo = cPickle.load(f)    f.close()    difference = dict(set(fileInfo.items())^set(old_fileInfo.items()))    fileNum = len(difference)    print fileNum    difference_file = ' '.join(difference.keys())    print difference_file    tar(difference_file,D,fileNum)    f = open(P,'w')    cPickle.dump(fileInfo,f)    f.close()def Usage():  print '''    Syntax: python file_bakcup.py pickle_file model source_dir filename_bk      model: 1:Full backup 2:Differential backup    example: python file_backup.py fileinfo.pk 2 /etc etc_$(date +%F)      explain: Automatically add '.tar.gz' suffix  '''  sys.exit()if len(sys.argv) != 5:  Usage()P = sys.argv[1]M = int(sys.argv[2])S = sys.argv[3]D = sys.argv[4]if M == 1:  fullBak(S)elif M == 2:  diffBak(S)else:  print "/033[;31mDoes not support this mode/033[0m"  Usage()

測試:

$ python file_backup.py data.pk 1 data data_$(date +%F) #全備份$ > data/www.jb51.net #測試創建文件,修改文件權限$ chmod 777 data/py/eshop_bk/data.db$ python file_backup.py data.pk 2 data data_$(date +%F)_1 #備份改變的文件2data/py/eshop_bk/data.db data/www.jb51.net            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国外成人性视频| 96国产粉嫩美女| 亚洲精品国产品国语在线| 亚洲天堂精品在线| 成人情趣片在线观看免费| 日韩大片免费观看视频播放| 欧美视频一区二区三区…| 亚洲国产高清高潮精品美女| 国产精品国产三级国产aⅴ9色| 亚洲国产精品va在线看黑人| 久久久久一本一区二区青青蜜月| 久久久在线观看| 国产精品美女久久久免费| 久久夜色精品国产欧美乱| 国产成人免费91av在线| 欧洲成人免费aa| 国产精品小说在线| 久久久久成人网| 日韩国产中文字幕| 国产欧美欧洲在线观看| 性夜试看影院91社区| 8x海外华人永久免费日韩内陆视频| 国产亚洲精品91在线| 青青久久av北条麻妃黑人| 久久久精品视频成人| 国产亚洲精品综合一区91| 97香蕉超级碰碰久久免费软件| 国产mv免费观看入口亚洲| 国模私拍一区二区三区| 欧美大片在线影院| 在线观看日韩av| 欧美日韩国产一区在线| 久久成人人人人精品欧| 亚洲伊人成综合成人网| 成人性生交大片免费看视频直播| 在线电影中文日韩| 亚洲欧美中文日韩v在线观看| 欧美日韩中文在线| 一区二区三区四区精品| 国产一区二区三区精品久久久| 久久人人爽人人爽人人片av高请| 欧美尤物巨大精品爽| 成人激情视频在线观看| 久久99视频精品| 97色伦亚洲国产| 欧美剧在线观看| 91精品啪在线观看麻豆免费| 国产丝袜一区二区三区免费视频| 国产成人高清激情视频在线观看| 国产精品久久久久久久久久新婚| 国产精品视频男人的天堂| 亚洲欧美一区二区激情| 亚洲成人动漫在线播放| 国产成人激情视频| 日本最新高清不卡中文字幕| 欧美激情精品久久久| 色综合伊人色综合网站| 国产精品视频精品视频| 中文字幕视频一区二区在线有码| 久久天天躁狠狠躁夜夜躁| 粗暴蹂躏中文一区二区三区| 黑人极品videos精品欧美裸| 国产精品久久久久不卡| 欧美日韩国产精品专区| 国产精品羞羞答答| 亚洲va电影大全| 国产福利视频一区二区| 成人免费网站在线看| 久久久久久久国产精品视频| 亚洲裸体xxxx| 亚洲欧美中文日韩在线v日本| 蜜月aⅴ免费一区二区三区| 日韩成人激情视频| 久久中文字幕在线视频| 欧美日韩精品在线观看| 日韩在线播放一区| 亚洲另类xxxx| 在线看片第一页欧美| www高清在线视频日韩欧美| 中文欧美日本在线资源| 亚洲石原莉奈一区二区在线观看| 亚洲欧美综合精品久久成人| 97在线视频免费| 国产成人亚洲综合91| 亚洲欧美在线免费| 97视频在线播放| 日韩免费高清在线观看| 精品久久香蕉国产线看观看亚洲| 国产精品免费久久久久影院| 最近2019年日本中文免费字幕| 中文日韩电影网站| 亚洲free嫩bbb| 欧美性xxxxxxxxx| 97人人做人人爱| 亚洲最大福利视频| 亚洲大胆人体视频| 中文字幕v亚洲ⅴv天堂| 午夜精品99久久免费| 亚洲精品第一国产综合精品| 欧美香蕉大胸在线视频观看| 影音先锋欧美精品| 成人乱人伦精品视频在线观看| 国产免费一区视频观看免费| 亚洲精品一区中文字幕乱码| 国产精品久久久久秋霞鲁丝| 国产一区二区黄| 欧美日本啪啪无遮挡网站| 中文字幕精品国产| 日韩视频永久免费观看| 日韩不卡中文字幕| 美女999久久久精品视频| 欧美性在线视频| 狠狠躁夜夜躁久久躁别揉| 亚洲国产又黄又爽女人高潮的| 亚洲网站在线看| 欧美精品videofree1080p| 国产免费一区二区三区香蕉精| 欧美性在线视频| 韩日精品中文字幕| 伊是香蕉大人久久| 精品偷拍一区二区三区在线看| 日韩亚洲成人av在线| 按摩亚洲人久久| 欧美怡红院视频一区二区三区| 欧美亚洲视频在线观看| 在线亚洲男人天堂| 日韩在线观看免费av| 国产精品久久99久久| 成人午夜黄色影院| 欧美电影在线观看高清| 2019精品视频| 亚洲精品资源在线| www.日韩系列| 欧美大片免费观看在线观看网站推荐| 国产亚洲视频在线观看| 浅井舞香一区二区| 国产精品一区二区性色av| 欧美日韩成人在线播放| 欧美激情一区二区三区高清视频| 国产日韩精品在线观看| 久久久国产精彩视频美女艺术照福利| 国产日韩欧美另类| 国产精品福利在线观看| 亚洲国产精品999| 九九精品在线视频| 亚洲高清福利视频| 2019中文字幕在线观看| 国产精品日韩一区| 亚洲第一在线视频| 2019日本中文字幕| 亚洲国产精品久久精品怡红院| 国产精品久久激情| 青青久久av北条麻妃黑人| 中文字幕日韩精品在线| 国产精品日本精品| 国产原创欧美精品| 夜夜躁日日躁狠狠久久88av| 91极品视频在线| 日韩精品亚洲精品| 日韩欧美一区二区在线| 国产国语videosex另类| 国产在线a不卡| 国产精品久久久久久久久久久久| 日本国产一区二区三区|