Perl处理日志文件

玛娜·德拉戈什(Manea Dragosh)

我想创建一个在Linux中处理日志文件的perl脚本。想法是将其他人的“有趣”字句进行排序。我的计划是:-临时复制日志文件(因为它经常被写入)-搜索“有趣的”行(关键字)-将它们复制到另一个文件“ log.processed”中-通过e发送该文件邮寄给我。(我认为这部分将由cron完成)

直到现在我有这个:

#!/usr/bin/perl
#use strict;
use warnings;
use File::Copy;

copy("/home/hq-asa.log","/home/hq-asa.temp") or die "Copy failed $!";
$NewLog     = "/home/hq-asa.processed";
our $search = "keyword1|keyword2|";
my $TempLog = "/home/hq-asa.temp";

open (my $LogFile, "+<", $TempLog) or die "Could not open log temp file $!";
qx(touch $NewLog);
open ($newlog, "+<", $NewLog) or die "could not open new log file $!";
foreach $line (<$LogFile>) {
    if (($line =~ m/$search/) or ($line eq $search))  {
        print $newlog $line;
    }
}
close($LogFile);
close($newlog);
unlink "/home/hq-asa.temp";

不要判断,我是新手。问题是,如果我希望例如每小时运行一次此脚本,它将一次又一次处理所有原始日志文件。我可以在原始日志文件中插入“书签”,并告诉此脚本搜索最后一个并从那里继续吗?还是应该怎么做?

达西姆

写出一个状态文件,其中包含您上次中断行号要恢复处理时,请先读取状态文件,然后跳过行数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试使用 perl 将日志文件推送到数组并处理文件

来自分类Dev

使用Perl解析日志文件

来自分类Dev

脚本批处理的日志文件

来自分类Dev

Perl无法尾部旋转日志文件

来自分类Dev

在perl中邮寄日志文件的内容

来自分类Dev

Perl:编辑日志文件数据

来自分类Dev

在Perl中将子例程写入日志文件

来自分类Dev

使用Perl格式化日志文件

来自分类Dev

Perl脚本:对日志文件进行排序。

来自分类Dev

Perl 日志消息意外写入 dest 文件

来自分类Dev

如何使用MapReduce处理日志文件

来自分类Dev

如何使用MapReduce处理日志文件

来自分类Dev

日志文件处理之间的性能比较

来自分类Dev

批处理文件日志文本

来自分类Dev

多列日志文件的后处理

来自分类Dev

提升日志-对一个日志文件进行不同的处理?

来自分类Dev

Perl中的文件处理(.conf文件)

来自分类Dev

从复制批处理文件创建日志文件

来自分类Dev

如何从批处理文件写入日志文件?

来自分类Dev

用于在Perl中处理文件的写函数

来自分类Dev

使用Perl预处理C文件

来自分类Dev

在Perl中处理文件的某些行

来自分类Dev

在perl中读取巨大日志文件的方法及其比较

来自分类Dev

Perl脚本日志到文件,输出滞后

来自分类Dev

在perl中读取巨大日志文件的方法及其比较

来自分类Dev

日志文件中的Perl脚本查找时间戳记

来自分类常见问题

需要处理未捕获的异常并发送日志文件

来自分类Dev

在PowerShell或批处理中格式化日志文件

来自分类Dev

处理包含奇怪字符的日志文件时避免错误