Backup
CentOS 上的可附加和 greppable 存檔以保存許多日誌文件(logrotate on steroids)
我在 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