スクリプトの誤削除ファイルを記録して復元
あるディレクトリの下で30日以上のファイルを定期的に移動します.スクリプトの内容は次のとおりです.
スクリプトが半分実行されるとディレクトリ構成エラーが発生し、すぐにCTRL+Cがスクリプト削除スクリプト出力を終了します.
削除スクリプト出力を
# -*-coding:utf-8-*-
import os
import sys
import time
import shutil
backupdir="/data/backup/images/%s"%(time.strftime("%Y-%m-%d",time.localtime()))
bday=2592000
path='/data/images/log'
if os.path.exists(backupdir) is False:
os.makedirs(backupdir)
cday=int(time.time())
for i in os.walk(path):
# , bday
if i[1] == [] and i [2] == [] and (cday - int(os.stat(i[0]).st_mtime)) > bday:
print " : %s"%(str(i[0]))
os.rmdir(i[0])
else:
for j in i[2]:
# bday
if (cday - int(os.stat(i[0]+'/'+j).st_mtime)) > bday:
print " : %s"%(str(i[0]+'/'+j))
shutil.move(str(i[0]+'/'+j),backupdir+'/'+j)
スクリプトが半分実行されるとディレクトリ構成エラーが発生し、すぐにCTRL+Cがスクリプト削除スクリプト出力を終了します.
: /xx/xx/xx/xx/xx/xx/xx/xx/xxxxxx.zip
削除スクリプト出力を
/data/bin/de
ファイルにコピーしてリカバリスクリプトを作成# -*-coding:utf-8-*-
import shutil
with open('/data/bin/de', 'r') as f:
file = f.readlines()
for i in file:
FilePath = i.replace("
", "").replace("\r","")
FileName = path.split('/')[-1]
print fil , path
try:
shutil.copy('/data/backup/images/xxxx/%s'%(FileName),FilePath)
except:
pass