2017-04-04 51 views
0

我有一個包含許多日誌文件的目錄結構。如何使用Python實現其內部具有特定目錄結構的tar文件

例子:

root/feature1/pre/a.log<br> 
root/feature1/pre/b.log<br> 
root/feature1/post/c.log<br> 
root/feature1/post/d.og<br> 
root/feature2/pre/e.log<br> 
root/feature2/pre/f.log<br> 
root/feature2/post/g.log<br> 
root/feature2/post/h.log 

我要存檔幾個條件是在日誌文件超過2個月以上的日誌文件。我可以使用給定的條件對日誌文件進行歸檔,但無法在tar文件中維護目錄。

我需要:
根/ archive.tar.gz

凡archive.tar.gz包含

feature1/pre/a.log 
feature1/post/d.log 
feature2/pre/e.log 
feature2/post/g.log 
feature2/post/h.log 

這裏,a.log,d.log,e.log,G .log,h.log文件是大於2個月的文件。

回答

0

這是一個比Python更多的Linux問題。我建議使用找到命令與文件名和文件時間選項。通過這些名字到您正在使用的焦油命令,像

tar -czf archive `find /root -name feature*.log -ctime +60` 

測試這在命令行上;當它按照你的想法工作時,然後使用Python的os包來從你的Python腳本中執行它。

這讓你感動嗎?

+0

我想我應該更好地解釋你。我想要實現多個檔案,使每個檔案包含一週的日誌。所以你解釋我的邏輯給了我一個單一的檔案。我正在嘗試在python中編寫一個代碼,它可以讀取所有文件夾並每週歸檔。我面臨的問題是我無法在每個存檔中保留目錄結構。 –

+0

我仍然不明白,那麼 - 保留單獨的檔案是將時間戳串聯到檔案名稱的問題。 tar球仍然包含目錄結構,因爲它包含每個存檔文件的完整路徑。 – Prune

相關問題