繁體中文 |
简体中文 |
English
arclog.pl v1.4.2dev
最新消息
arclog.pl 最新版本 v1.4.2dev ,可以按这里下载。
说明
arclog.pl 是记录档的归档程式,将指定的记录档按月份
压缩归档,以方便日后整理,节省硬碟空间,并避免记录
档被有心人士破坏。
本程式目前只能整理 apache 和 syslog 两种格式的记录
档。
注意事项
-
归类记录档很花时间,档案越大,要花越多时
间。如果这时还在继续记录,双方同时写入,会破坏整个
记录档。 arclog.pl 会呼叫 flock() 完全锁定档案,避
免其她程式同时写入。可是其她程式不见得会用 flock()
锁定档案,尤其是 httpd 和 syslogd 这类记录程式。(
而且如果她们也用 flock() ,我们就永远锁定不到档案
了。)因此,执行 arclog.pl 前,一定要先关掉记录程
式,不然就把 arclog.pl 跑在没有使用中的记录档上。
-
你可以加上 --sort ,按时间先后(及记
录原先的顺序)排列记录顺序。如果记录档是好几个档案
剪贴出来的,也许要重排一下顺序。不过排序很耗记
忆体和 CPU 。如果记录档很大,整个系统会瞬间垮
掉。我有写一些简单的预防措施,可是我不保证一定
挡得了。系统会不会垮,取决于你 CPU多快,有多
少记忆体,及记录档多大。基于上述原因, arclog.pl
预设不会排序。
-
若你要整理 syslog 记录档,请特别注意: syslog
记录档没有记录年份。 arclog.pl 呼叫
Date::Parse 模组来解读时间。找不到年份时,
Date::Parse 会把年份调整在「这个月」到「去年的下个
月」之间。举例来说,如果今天是 2001-06-08 ,那年份
会调整在 2001-06-30 到 2000-07-01 之间。我原则上赞
成这种做法。不过,如果你的 syslog 记录档历史超过一
年,不要跑 arclog.pl ,否则你的记录档会完蛋。
系统需求
-
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 可以由下列位址下载:
安装
-
解压缩:
% 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 复制到你要存的目
录下,记得设为可执行。
% chmod +x arclog.pl
这样就可以了。
-
执行
跑跑看有没有问题。你可以下
% ./arclog.pl --help
查看有哪些选项,或下
% perldoc arclog.pl
查阅完整的程式说明。
命令列参数
./arclog.pl [参数] [--prefix=输出路径名称] 记录档档名
./arclog.pl [-h|-v]
- 记录档档名
-
要整理归档的记录档档名。
- --prefix=输出路径名称
-
归档后的路径名称,归档后的档案会取名叫
「路径.yymmdd 」,如:路径.200101 、路径.200102 。
如果没有设定,会用记录档档名当输出档名。
- --compress
-
归档后压缩(预设值)。记录大多都长得很像,压缩掉会
省下非常多的空间。(不然干嘛归档? ^_*' )目前只支
援 gzip 压缩法。
- --nocompress
-
归档后不要压缩。(你没搞错吧? :p )
- --sort
-
按记录时间先后(及记录本身顺序)排序。排序很耗记忆
体和 CPU ,所以预设是不排序。请参见前面关于排序的
注意事项。
- --nosort
-
不要排序(预设值)。
- --override[=模式]
-
如果有同名的旧档,该怎么办。目前有下列模式:
- overwrite
-
盖掉旧档。如果只有设定 --override ,
没有设定模式,那会当你想要盖掉旧档。旧档的记录会被
删掉,请多加小心。若你的记录档是主记录档,有最完整
的记录,你可以用 overwrite 。
- append
-
和旧档加在一起。这有可能会造成记录大混乱,请多加小
心。若你想把两份不同时段的同种记录档剪贴在一起,你
可以用 append 。
- ignore
-
略过所有该月的记录。这有可能造成部份记录资料流失,
请多加小心。若你只要补充旧档所没有的月份,你可以用
ignore 。
- fail
-
结束程式,以免不小心破坏旧档。若你要放在工作排程中
执行(如 crontab 或 at ),最好用这种方式,以免破
坏资料。因此,这是预设的方式。
- ask
-
问你该怎么办。如果你是用手动执行,也许你会比较希望
如此。不要在自动执行程式中设定成 ask ,搞不好程式
会无限期等下去。
- -d, --debug
-
显示详细的执行过程。
- -q, --quiet
-
没事就不要吵。 :p
- -h, --help
-
显示程式说明。
- -v, --version
-
显示程式版本。
版权声明
版权所有 © 2001 依玛猫。依玛猫保有所有权利。
本程式是自由软体,您可以遵照自由软体基金会( 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 档,查看程式的演变、新增的功能和修补的错误。
依玛猫 <imacat@mail.imacat.idv.tw> 初稿 2001-06-08 ,上次更新日期 2001-06-08

本页符合 HTML 4.01 规格