Backup

CentOS 上的可附加和 greppable 存檔以保存許多日誌文件(logrotate on steroids)

  • May 10, 2015

我在 CentOS 6.3 機器上有一堆應用程序,它們以這種方式生成每日日誌(內容非常相似的文本文件):

/data/logs/app/my-2014-06-29.log
/data/yet_another_app/logs/catalina.20140629
/data/in_fact/there_are/around_500_such_paths/2014-06-29-1.log

我需要保留這些日誌 5 年。我目前以傳統的 Unix 方式處理它們,只是將它們壓縮到位(如.log.bz2),但我不高興它們仍然佔用大量空間。我覺得我可以節省大量空間,但先壓縮它們然後再壓縮(想想一個可以容納整年日誌的巨型 .zip)。

要求:

RHEL 猶太潔食

請不要“從原始碼編譯”。如果它還不夠成熟,無法以 .rpm 形式分發,那麼它不適合我。

緊握

存檔應該允許遞歸 grep(如grep -rli):

grep_my_zip  -rli  pattern   /this/and/that/wildcards/2014-06-*

grepping 時存檔不應該解壓縮所有內容,只解壓縮與萬用字元匹配的文件。

附加

每週我都會將我的文件放入同一個存檔中並從文件系統中刪除它們:

append_and_remove   $( find /this/and/that  -name '*.log' -type f -mtime +31 )     # weekly log cleaning job

這不是每周存檔,我想每週附加到一個大型年度存檔。

微軟視窗訪問

存檔,雖然主要在 CentOS Linux 上執行,但也應該允許在 Windows 上檢索單個文件以用於緊急目的(因此 squashfs 樣式的文件系統不是一個可行的選擇)。

可選的東西(一個加號,但不是必需的)

  • append 應該是空間有效的 - 考慮到以前的日誌文件與目前的日誌文件非常相似
  • 每週工作的 logrotate 集成
  • 適用於 Windows 的 grep_my_zip
  • 存檔也可以是可更新的(即可寫的),不僅是可附加的

最初發表在這個可憐的兄弟姐妹上

我對各種壓縮機的研究表明,節省空間不值得走非傳統的道路。

  • 8800M 解壓雙週輸入(5842 個文件)
  • 270M 只是 bzip2(傳統的 logrotate 風格 - 單獨的 .log.bz2 文件)
  • 257M 焦油 bzip2
  • 400M 拉鍊
  • 132M p7zip(Windows .7z 兼容)
  • 140M 焦油 xz
  • 129M tar lrzip

引用自:https://unix.stackexchange.com/questions/140161