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
安装。
选配的 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-cn 档的升级说明。
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 指令说明。