最新消息
- 2002-09-18
- arclog.pl 最新版本 v2.1.0dev2 。本版修正了几个说明文件的错误,并
把 SourceForge 加进 arclog.pl
的下载网址中。你可以把它当做「申请 SourceForge 纪念版」。原则上,不需
要急著升级。若要下载,请按这里。
- 2002-09-17
- 好消息! arclog.pl 已开始架设於 SourceForge 罗!
(虽然我几乎还完全搞不清楚要怎么架……摸索中…… ^^; )
- 2002-08-31
- arclog.pl 最新版本 v2.1.0dev1 。本版修正了无法在 perl 5.8.0 执行
的错误。我暂时还把她当成是「 dev 」研发版,因为我想在 2.1.0 正式版的
时候,支援
Compress::Bzip2 与
ExtUtils::MakeMaker
。不过她其实很稳定。若要下载,请按这里。
说明
arclog.pl 是记录档的归档程式,将指定的记录档按月份压缩归档,以方便
日后整理,节省硬碟空间,并避免记录档被有心人士破坏。
本程式目前只能整理 Apache 和 Syslog 两种格式的记录档。
注意事项
- 归类记录档很耗时间。自 2.0.0 版以后,会先把原记录档复制
到暂时工作档,视需要把原记录档归零,再慢慢在暂时工作档上作业。这样可
以将占用原记录档的时间减到最低,就不用其她的记录档归零程式了。不过仍
请注意下列事项:一、如果原记录档很大(好几十 MB ),光复制档案还是很
花时间。这时,最好还是先关闭记录程式,等整理完以后,再继续记录,以避
免记录错乱。若平常有定期归档,记录档就不会无限制膨胀了。二、若执行到
一半因故中断,会留下残存的暂时工作档。日后执行时,若碰到之前残存的暂
时工作档,程式会立刻停止。要先处理掉之前的暂时工作档,才能继续。你可
以改个档名,当成另外一个记录档来归档,就可以了。
- 你可以用 --sort ,按时间先后(及记录原先顺序)排序。
如果记录档是好几个档案拼出来的,也许排个序比较好。不过排序很吃记
忆体和 CPU。如果记录档很大,系统会瞬间垮掉。我写了
一些简单的预防措施,可是我不保证一定防得了。系统会不会垮,取
决於你 CPU 多快、记忆体多大及记录档多大。基於上述原因,
预设不会排序。
- 若要整理 Syslog 记录档,请特别注意: Syslog 记录档没有记年。
arclog.pl 用 Date::Parse 模组解读时间。无年份时, Date::Parse 会把年
份设在「这个月」到「去年的下个月」之间。例如,若今天是 2001-06-08 ,
那年份会设在 2001-06-30 到 2000-07-01 之间。我原则上赞成这样。不过,
若你的 Syslog 记录档超过一年整理归档,不要跑 arclog.pl ,否则会死得很
惨。
- 从 1.5.0 版以后,可以用「 - 」从标准输入读记录档。不
过请注意:一、若要读标准输入,就一定要设定归档时,档名的开头,不然不
知道怎么归档后要存到哪里去。二、若读的是档案,这个月的记录会存回原档
中,以便下个月再归档;若读的是标准输入,这个月的记录没有地方存回去,
也会被归档起来。三、 ask 模式的回答也是从标准输入读的。
因为标准输入只有一个,所以从标准输入读档时,无法跑 ask
模式,会自动退回到 fail 模式。
系统需求
- Perl 5.005 或以上。本程式使用 File::Temp 模组,需要 perl 5.005 以
后才支援的一些新功能。目前大多数的 UNIX 系统都有 perl 。如果你没有
perl 或需要升级,可以到
http://www.perl.com/
下载安装最新版 perl 。若你是用 MS-Windows ,可以到
http://www.activestate.com/
下载安装。
- 本程式需要下列 perl 模组:
File::Spec::Functions 、
File::Temp 、
Date::Parse 、
Compress::Zlib 。
如果你没有,可以到 CPAN 程式库
http://search.cpan.org/
下载安装。
下载
arclog.pl 的官方网站在:
最新版 arclog.pl 可由下列位址下载:
依玛猫的 PGP 在:
安装
-
解压缩:
% tar -xzf arclog.pl-x.xx.xx.tar.gz
-
以自动安装程式安装(建议)
虽然本程式不需要设定,我还是希望你跑一遍自动安装程式。自动安装程式
会检查所需的系统环境,事先告知你程式无法执行的问题。
要跑自动安装程式,要先安装
File::Spec::Functions
模组。 perl 5.6.0 以后会随附这个模组,不用特地安装。如果你的 perl 比
较旧,没有这个模组,可以到 CPAN 程式库
http://search.cpan.org/
下载安装。
到解压缩后的目录中,执行自动安装程式 Install.PL :
% ./Install.PL
这时,安装程式会检查所需的系统环境,并问你所需的设定。请依序回答。
然后,安装程式会按你的回答,把程式装起来。你也可以下:
% ./Install.PL --help
查看有哪些选项。
-
手动安装
到解压缩后的目录中,将 arclog.pl 档复制到你要存的目录
下,就可以了。
-
执行
跑跑看有没有问题。你可以下:
% ./arclog.pl --help
查看有哪些选项,或下:
% perldoc arclog.pl
查阅完整的程式说明。
命令列参数
./arclog.pl [参数] 记录档档名... [归档档名开头]
./arclog.pl [-h|-v]
- 记录档档名
- 要整理归档的记录档档名。若要从标准输入读记录档,请设定成「
- 」。可同时指定许多档案。 GZIP 压缩档亦可。
- 归档档名开头
- 归档档名用的开头,归档后的档案会取名叫「开头.yymmdd 」,如:
开头.200101 、开头.200102 ……等。如果没有设定,会用记录档的档名当开
头。若你要从标准输入读记录档,就一定要设归档档名开头。这里不能用「
- 」(标准输入),因为这只是档名的开头而已,不是档案全名。
- -c, --compress
- 归档后压缩(预设值)。记录大多都长得很像,压缩掉会省下非常多的空
间。(不然干嘛归档? ^_*' )目前只支援 gzip 压缩法。
- --nocompress
- 归档后不要压缩。(你没搞错吧? :p )
- -s, --sort
- 按记录时间先后(及记录本身顺序)排序。排序很耗记忆体和
CPU ,所以预设是不排序。请参见前面关於排序的注意事项。
- --nosort
- 不要排序(预设值)。
- -o, --override[=模式]
- 如果有同名的旧档,该怎么办。目前有下列模式:
- o, overwrite
- 盖掉旧档。如果只有设定 --override ,没有设定模式,那
会当你想要盖掉旧档。旧档的记录会被删掉,请多加小心。若你的记录档是主
记录档,有最完整的记录,你可以用 overwrite 。
- a, append
- 和旧档加在一起。这有可能会演变成大混乱,请多加小心。若你想把两份
不同时间的记录档加在一起,你可以用 append 。
- i, ignore
- 略过所有该月的记录。这有可能造成部份记录流失,请多加小心。若你只
要补充没有归档的月份,你可以用 ignore 。
- f, fail
- 结束程式,以免不小心破坏旧档。若你要用 crontab 之类的程式,全自动
化执行,最好这样,以免破坏资料。因此,若标准输入不是连到键盘上,预设
是 fail 。
- ask
- 问你该怎么办。若你是手动执行,这样最方便。因此,若标准输入是连到
键盘上,预设是 ask 。答案是从标准输入读的。因为标准输入
只有一个,若你要从标准输入读记录档,不能跑 ask 模式,会
自动退回 fail 模式。还有,如果从标准输入读不到东西,像
crontab 里标准输入被关掉了,也会自动退回 fail 模式。
- -k, --keep[=模式]
- 原记录档要怎么处理。目前有下列模式:
- a, all
- 完全保留原档。如果只有设定 --keep ,没有设定模式,那
会当你想要保留原档。
- r, restart
- 归档后,原记录档归零。
- d, delete
- 归档后,删除原记录档。
- t, this-month
- 将之前月份的记录归档,保留这个月的记录,留待下个月归档。这是给
crontab 每月归档用的。因此,预设是 this-month 。
- -d, --debug
- 显示详细的执行过程。
- -q, --quiet
- 没事不要吵。 :p
- -h, --help
- 显示程式说明。
- -v, --version
- 显示程式版本。
版权声明
版权所有 © 2001-2002 依玛猫。依玛猫保有所有权利。
本程式是自由软体,您可以遵照自由软体基金会 (Free Software
Foundation) 出版的 GNU 通用公共许可证条款
(GNU General Public License) 第二版来修改和
重新发布这一程式,或者自由选择使用任何更新的版本。
发布这一程式的目的是希望它有用,但没有任何担保。甚至没有适合特定目
的而隐含的担保。更详细的情况请参阅 GNU 通用公共许
可证。
您应该已经和程式一起收到一份 GNU 通用公共许可
证的副本。如果还没有,写信给: Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
版本纪录
请阅读 RELEASE_NOTES 档,查看程式的演变、新增的功能和
修补的错误。