arclog 最新版本 0.01 。說明文件修正。若妳之前安裝了 arclog 3.00 版或之後的版本,不需要昇級新版。下載 arclog 0.01 版。
arclog 最新版本 3.03 。修正測試套件。所需 Perl 版本號碼改用相容於舊版的號碼格式,以消除 Perl 5.10 的警告訊息。若妳之前安裝了 arclog 3.00 版或之後的版本,不需要昇級新版。下載 arclog 3.03 版。
arclog 最新版本 3.02 。修正測試套件,以處理日光節約時間問題。若妳之前安裝了 arclog 3.00 版或之後的版本,不需要昇級新版。下載 arclog 3.02 版。
arclog 最新版本 3.01 。修正測試套件,以協助釐清 CPAN 測試回報的錯誤。若妳之前安裝了 arclog 3.00 版,不需要昇級新版。下載 arclog 3.01 版。
arclog 最新版本 3.00 。從 reslog 借過來的全新程式碼,檔名也從 arclog.pl 改為 arclog 。新的物件導向處理器,可順利處理各種壓縮法及檔案格式。安裝系統由 GNU autoconf 改用 Perl 的 ExtUtils::MakeMaker 和 Module::Build 。新加上完整的測試套件,協助程式品管。版權更新為 GPLv3 。下載 arclog 3.00 版。
arclog.pl 最新版本 2.1.0 。這是 2.1.0 的最終版,加上了 bzip2 壓縮的支援,用 gzip 程式代替 Compress::Zlib 壓縮,並改用 GNU autoconf 安裝設定程式。下載 arclog.pl 2.1.0 。
arclog.pl 最新版本 2.1.0dev2 。本版修正了幾個說明文件的錯誤,並把 SourceForge 加進 arclog.pl 的下載網址中。妳可以把它當做申請 SourceForge 紀念版
。原則上,不需要急著昇級。下載 arclog.pl 2.1.0dev2 。
好消息! arclog.pl 已開始架設於 SourceForge 囉!(雖然我幾乎還完全搞不清楚要怎麼架…摸索中… ^^; )
arclog 是記錄檔每月歸檔程式,將記錄檔中,前月的記錄按月份壓縮歸檔,以節省硬碟空間,並避免記錄檔被有心人士破壞。
arclog 目前支援 Apache 、 Syslog 、 NTP 、 Apache 1 SSL engine log 及我自己用的括弧 ISO 修正格式五種格式的記錄檔,與 gzip 和 bzip2 兩種壓縮法。很多程式都可以用 Apache 相容記錄檔格式記錄,如 CUPS 、 ProFTPD 、 Pure-FTPd…等, arclog 也可以歸檔這些 Apache 相容格式的記錄檔。
歸類記錄檔很耗時間。為減少佔用原記錄檔的時間, arclog 會先把原記錄檔複製到暫時工作檔,視需要把原記錄檔歸零,再慢慢在暫時工作檔上作業。不過仍請注意下列事項:
如果原記錄檔很大(好幾百 MB ),光複製檔案就很花時間了。這種情況下,最好先關閉記錄程式,等整理完以後,再繼續記錄,以避免記錄錯亂。若平常有定期歸檔,記錄檔就不會無限制膨脹了。
若 arclog 執行到一半因故中斷,會留下殘存的暫時工作檔。日後 arclog 執行時,碰到之前殘存的暫時工作檔,會停止執行。要先處理掉之前的暫時工作檔,才能繼續。暫時工作檔只是原檔的複本,只要改個檔名再歸檔一次,就可以了。
沒有特別理由,最好不要排序。排序的潛在問題如下:
記錄檔很大時,排序會吃掉很多記憶體。所需記憶體依歸檔後每個月記錄筆數而定。新版的 Linux 和 MS-Windows 系統有記憶體耗用保護,會中斷吃掉太多記憶體的程式,不過這還是要花好幾分鐘,這幾分鐘內系統會完全當掉不動。我不知道別的作業系統有沒有記憶體耗用保護。如果妳要玩,風險自負。
所有支援的記錄檔格式,時間最小單位為秒
。同一秒內的記錄會先以記錄檔順序(若同時歸檔好幾個記錄檔),再以記錄本身出現的次序排序。這樣設計儘可能讓排序歸檔後同一秒內的記錄次序,和事件真正的發生順序一致,但也無法完全保證。若同一秒內的事件次序很重要,妳要自行小心。
歸檔 Syslog 和 NTP 記錄檔時,請特別注意: Syslog 和 NTP 記錄檔沒有記年。 arclog 用 Date::Parse 模組解讀時間。無年份時, Date::Parse 會把年份設在這個月
到去年的下個月
之間。例如,若今天是 2001-06-08 ,那年份會設在 2001-06-30 到 2000-07-01 之間。我原則上贊成這樣。不過,若妳的 Syslog 或 NTP 記錄檔超過一年整理歸檔,不要跑 arclog ,否則記錄檔會大亂。
從標準輸入讀記錄檔,請注意下列事項:
若要讀標準輸入,就一定要設定歸檔時,檔名的開頭,不然不知道怎麼歸檔後要存到哪裏去。
標準輸入無法刪除、歸零或保留部份內容。若要讀標準輸入,原檔保留模式會自動退回成全部保留。一次讀入多檔時,若其中有標準輸入,會一律退回全部保留,以避免混亂。
ask 模式的回答也是從標準輸入讀的。因為標準輸入只有一個,所以從標準輸入讀檔時,無法跑 ask 模式,會自動退回到 fail 模式。
我建議安裝 File::MMagic ,儘量不要用 file 程式。 File::MMagic 內建的檔案類型表好像比 file 程式準確。若不是 gzip 或 bzip2 壓縮檔, arclog 會把視為當成純文字檔。若壓縮檔被誤判為圖檔, arclog 會當成純文字檔,直接讀記錄,並以錯誤結束。就算錯誤也不會弄亂原記錄檔,不過多少有點麻煩。
Perl 5.8.0 以上。 arclog 用三個參數的 open() 來複製檔案操作,我還不知道怎麼改寫到更早的版本上執行。若妳可以改寫到更早的版本上執行,請告訴我。妳可以輸入 perl -v
查詢妳目前的 Perl 版本。如果妳沒有 Perl 或需要昇級,可以到 Perl 網站下載安裝最新版 Perl 。若妳是用 MS-Windows ,可以到 ActiveState 公司下載 ActivePerl 安裝。
需搭配的 Perl 模組:
這是辨識記錄時間用的。妳可以由 CPAN 模組庫下載安裝 Date::Parse ,或用 CPAN Shell 執行 cpan Date::Parse
安裝,或用 CPANPLUS Shell 執行 cpanp i Date::Parse
安裝。若妳是 Debian/Ubandu Linux 使用者,可以執行 apt-get install libtimedate-perl
安裝。若妳是 Red Hat/Fedora/CentOS Linux 使用者,可以執行 yum install perl-TimeDate
安裝。若妳是 FreeBSD 使用者,可以執行 ports install p5-TimeDate
安裝。若妳是 ActivePerl 使用者,可以執行 ppm install Date::Parse
安裝。
若妳由 CPAN 或 CPANPLUS Shell 安裝 arclog ,會自動幫妳安裝以上所需的模組。
選配的 Perl 模組:
這是檢查檔案類型用的。若沒有安裝, arclog 會找 file 程式代替。若還找不到, arclog 會改用檔尾(副檔名)判斷檔案類型。這時若從標準輸入讀檔, arclog 就無法判斷了。妳可以由 CPAN 模組庫下載安裝 File::MMagic ,或用 CPAN Shell 執行 cpan File::MMagic
安裝,或用 CPANPLUS Shell 執行 cpanp i File::MMagic
安裝。若妳是 Debian/Ubandu Linux 使用者,可以執行 apt-get install libfile-mmagic-perl
安裝。若妳是 Red Hat/Fedora/CentOS Linux 使用者,可以執行 yum install perl-File-MMagic
安裝。若妳是 FreeBSD 使用者,可以執行 ports install p5-File-MMagic
安裝。若妳是 ActivePerl 使用者,可以執行 ppm install File::MMagic
安裝。若妳要在 MS-Windows 下使用 file.exe 程式,可以由 GnuWin32 網站下載。請確認下載後,存檔在系統的路徑下,檔名為 file.exe 。
建議用 File::MMagic 。 file 程式偶爾會誤判。
這是處理 gzip 壓縮檔用的,只有在處理 gzip 壓縮檔才會用到。若要用時沒有安裝, arclog 會試著改用 gzip 程式代替。若還找不到, arclog 就無法執行。妳可以由 CPAN 模組庫下載安裝 Compress::Zlib ,或用 CPAN Shell 執行 cpan Compress::Zlib
安裝,或用 CPANPLUS Shell 執行 cpanp i Compress::Zlib
安裝。若妳是 Debian/Ubandu Linux 使用者,可以執行 apt-get install libcompress-zlib-perl
安裝。若妳是 Red Hat/Fedora/CentOS Linux 使用者,可以執行 yum install perl-Compress-Zlib
安裝。若妳是 FreeBSD 使用者,可以執行 ports install p5-Compress-Zlib
安裝。若妳是 ActivePerl 使用者,可以執行 ppm install Compress::Zlib
安裝。若妳要在 MS-Windows 下使用 gzip.exe 程式,可以由 gzip 網站下載。請確認下載後,存檔在系統的路徑下,檔名為 gzip.exe 。
這是處理 bzip2 壓縮檔用的,只有在處理 bzip2 壓縮檔才會用到。若要用時沒有安裝, arclog 會試著改用 bzip2 程式代替。若還找不到, arclog 就無法執行。妳可以由 CPAN 模組庫下載安裝 Compress::Bzip2 ,或用 CPAN Shell 執行 cpan Compress::Bzip2
安裝,或用 CPANPLUS Shell 執行 cpanp i Compress::Bzip2
安裝。若妳是 Debian/Ubandu Linux 使用者,可以執行 apt-get install libcompress-bzip2-perl
安裝。若妳是 Red Hat/Fedora/CentOS Linux 使用者,可以執行 yum install perl-Compress-Bzip2
安裝。若妳是 FreeBSD 使用者,可以執行 ports install p5-Compress-Bzip2
安裝。若妳是 ActivePerl 使用者,可以執行 ppm install Compress::Bzip2
安裝。若妳要在 MS-Windows 下使用 bzip2.exe 程式,可以由 bzip2 網站下載。請確認下載後,存檔在系統的路徑下,檔名為 bzip2.exe 。
這是顯示進度列用的,若沒有安裝,就不會顯示進度列。此外不會有任何問題。進度列可以讓妳對 arclog 的工作進度一目瞭然。妳可以由 CPAN 模組庫下載安裝 Term::ReadKey ,或用 CPAN Shell 執行 cpan Term::ReadKey
安裝,或用 CPANPLUS Shell 執行 cpanp i Term::ReadKey
安裝。若妳是 Debian/Ubandu Linux 使用者,可以執行 apt-get install libterm-readkey-perl
安裝。若妳是 Red Hat/Fedora/CentOS Linux 使用者,可以執行 yum install perl-TermReadKey
安裝。若妳是 FreeBSD 使用者,可以執行 ports install p5-Term-ReadKey
安裝。若妳是 ActivePerl 使用者,可以執行 ppm install Term::ReadKey
安裝。
arclog 的官方網站在:
最新版 arclog 可由下列位址下載:
依瑪貓的 PGP 公鑰在:
若妳是由 arclog.pl 2.1.1dev4 以前的版本昇級,請參閱 UPGRADE.zh-tw 檔的昇級說明。
arclog 用 Perl 標準的 ExtUtils::MakeMaker 安裝,程序如下:
% perl Makefile.PL % make % make test % make install
在 make install
前,請先確認妳有在安裝目錄存檔的權限。通常這時候要切換為 root ,才能安裝存檔。
若妳是用 MS-Windows 下的 ActivePerl , make 請改用 nmake 。 nmake 可由微軟的 FTP 站下載。
若要安裝到其它地方,請設定好 PREFIX 。例如,一般使用者,要安裝在自己的目錄下時:
% perl Makefile.PL PREFIX=/home/jessica
要知道更多安裝選項的細節,請參閱 ExtUtils::MakeMaker 的說明(請執行 perldoc ExtUtils::MakeMaker
)。
若妳喜歡,也可以用 Module::Build 安裝,程序如下:
% perl Build.PL % ./Build % ./Build test % ./Build install
在 ./Build install
前,請先確認妳有在安裝目錄存檔的權限。通常這時候要切換為 root ,才能安裝存檔。
若要安裝到其它地方,請設定好 --prefix 。例如,一般使用者,要安裝在自己的目錄下時:
% perl Build.PL --prefix=/home/jessica
要知道更多安裝選項的細節,請參閱 Module::Build 的說明(請執行 perldoc Module::Build
)。
./arclog [參數] 記錄檔檔名… [歸檔檔名開頭] ./arclog [-h|-v]
要整理歸檔的記錄檔檔名。若要從標準輸入讀記錄檔,請設定成 -
。可同時指定許多檔案。支援 gzip 或 bzip2 壓縮檔。
歸檔檔名用的開頭,歸檔後的檔案會取名叫開頭.yymmdd
,如:開頭.200101 、開頭.200102 …等。如果沒有設定,會用記錄檔的檔名當開頭。若妳要從標準輸入讀記錄檔,就一定要設歸檔檔名開頭。這裏不能用 -
(標準輸入),因為這裏設定的是檔名的開頭,不是檔名。
設定歸檔用的壓縮法。記錄大多都長得很像,壓縮掉會省下非常多的空間。(不然幹嘛歸檔? ^_*’ )目前支援下列的壓縮法:
用 gzip 壓縮。預設是用 gzip 壓縮。 arclog 可以用 Compress::Zlib 來代替 gzip 壓縮,不用呼叫外部程式,比較快比較安全。不過如果妳沒有裝 Compress::Zlib , arclog 還是會自己改用 gzip 程式壓縮。但如果連 gzip 程式都沒有,卻要用到 gzip 壓縮,就沒有辦法了,無法執行。
用 bzip2 壓縮。 arclog 可以用 Compress::Bzip2 來代替 bzip2 壓縮,不用呼叫外部程式,比較快比較安全。不過如果妳沒有裝 Compress::Bzip2 , arclog 還是會自己改用 bzip2 程式壓縮。但如果連 bzip2 程式都沒有,卻要用到 bzip2 壓縮,就沒有辦法了,無法執行。
不要壓縮。(妳沒搞錯吧? :p )
歸檔後不要壓縮,效果和 --compress none
一樣。
按記錄時間先後(及記錄本身順序)排序。排序很耗記憶體和 CPU ,所以預設是不排序。請參見前面關於排序的注意事項。
不要排序(預設值)。
如果有同名的舊檔,該怎麼辦。目前有下列模式:
蓋掉舊檔。舊檔的記錄會被刪掉,請多加小心。若妳的記錄檔是主記錄檔,有最完整的記錄,妳可以用 overwrite 。
和舊檔加在一起。這有可能會演變成大混亂,請多加小心。若妳想把兩份不同時間的記錄檔加在一起,妳可以用 append 。
略過所有該月的記錄。這有可能造成部份記錄流失,請多加小心。若妳只要補充沒有歸檔的月份,妳可以用 ignore 。
結束程式,以免不小心破壞舊檔。若妳要用 crontab 之類的程式,全自動化執行,最好這樣,以免破壞資料。因此,若標準輸入不是連到鍵盤上,預設是 fail 。
問妳該怎麼辦。若妳是手動執行,這樣最方便。因此,若標準輸入是連到鍵盤上,預設是 ask 。答案是從標準輸入讀的。因為標準輸入只有一個,若妳要從標準輸入讀記錄檔,不能跑 ask 模式,會自動退回 fail 模式。還有,如果從標準輸入讀不到東西,像 crontab 裏標準輸入被關掉了,也會自動退回 fail 模式。
原記錄檔要怎麼處理。目前有下列模式:
完全保留原檔。
歸檔後,原記錄檔歸零。
歸檔後,刪除原記錄檔。
將之前月份的記錄歸檔,保留這個月的記錄,留待下個月歸檔。這是給 crontab 每月歸檔用的。因此,預設是 this-month 。
顯示詳細的執行過程。
沒事不要吵。 :p
顯示程式說明。
顯示程式版本。
版權所有 © 2001-2007 依瑪貓。
本程式是自由軟體,您可以遵照自由軟體基金會 (Free Software Foundation) 出版的 GNU 通用公共許可證條款 (GNU General Public License) 第三版來修改和重新發佈這一程式,或者自由選擇使用任何更新的版本。
發佈這一程式的目的是希望它有用,但沒有任何擔保。甚至沒有適合特定目的而隱含的擔保。更詳細的情況請參閱 GNU 通用公共許可證。
您應該已經和程式一起收到一份 GNU 通用公共許可證的副本。如果還沒有,參閱<http://www.gnu.org/licenses/>。
請閱讀 NEWS 檔,查看程式的演變、新增的功能和修補的錯誤。
arclog 網站架在 SourceForge 、 CPAN 與 旅舍依瑪。索取最新資訊,請駕臨:
在 SourceForge 上有一個 arclog 的郵件通訊 。使用上的問題、建議或錯誤回報,請提到通訊上討論。它是 Mailman 的郵件通訊。若要加入,請到 arclog 郵件通訊的網頁 。妳也可以寫信到 E-mail 指令信箱,標題填上 help ,索取 E-mail 指令說明。