I think you must detect if it's the first write to each logfile.
This is done with a hash (associative arrary).
Code:
...
while(<>) {
if (/^#(\w+)#(.+)$/) {
if ($last_name ne $1) {
close $writeout if $writeout;
if (!defined $fn{$1}) {
# not yet in hash => rename if present
if (-f "$1.log") { rename "$1.log","$1.log.old"; }
# put in hash
$fn{$1}="";
}
open($writeout, '>>', "$1.log");
}
...
This renames to .old. Putting a date is left as an exercise.
hi all,
i would like to write the shell script to remove the out-dated log
my log file name will be like this:
access_20050101.log
access_20050102.log
.
.
.
access_20071007.log
access_20071008.log
access_20071009.log
i has try to write the command as following, it will be remove the... (2 Replies)
I have a shell script that will gzip/tar/archive application logs that are over 20 days old which works just fine, but I would like to convert to a Perl script. Problem is, I'm a beginner with Perl and all attempts so far have failed.
Basicaly I have a log dir /app/logs that contains several... (18 Replies)
Does anyone have a good script to move log files from a cron?
There are a lot of logs, about 100 or more and they are constantly
being written too. (7 Replies)
Hi,
I am trying to write a script which would go search and get the info from the logs based on yesterday timestamp and write yesterday logs in new file. The log file format is as follows:
""""""""""""""""""""""""""... (3 Replies)
Hello member's
I'm learning to script in the ksh environment on a Solaris Box.
I have 10 files in a directory that I need to pass, as input to a batch job one by one. lets say, the files are named as follows:
abcd.txt ; efgh.bat ; wxyz.temp etc. (random filenames with varied extensions ).... (1 Reply)
I have a ksh script that currently moves a day's worth of log files (about 15,000) files to a different directory. The issue is that about 100 of these files are still open for write when this happens. I need an efficient way to ensure that these files aren't open without doing an lsof on each... (7 Replies)
Hi All..
I'm seeking assistance with editing a script to search log files in several directories.
I'm close to what I'm seeking, but need additional guidance.
The log files are always listed by current date; however, inside the log file includes dates that go back to 2011.
What I'm... (6 Replies)
Hi all,
I am developing a log parsing agent in perl to send windows Event logs to Zenoss Monitoring tool. Using Win32::EventLog i can able to get the Event messages but only one Eventype eg Application or System could able to parse at a time. Can you please help to how to open mutiple eventlogs... (3 Replies)
Hi Friends,
Can anybody help me to create a perl script to generate log file for last 24 hrs from cron log file ??
Thank You (2 Replies)
Discussion started by: syamji.vm
2 Replies
LEARN ABOUT DEBIAN
trimhistory
TRIMHISTORY(8) System Manager's Manual TRIMHISTORY(8)NAME
trimhistory - Remove old Xymon history-log entries
SYNOPSIS
trimhistory --cutoff=TIME [options]
DESCRIPTION
The trimhistory tool is used to purge old entries from the Xymon history logs. These logfiles accumulate information about all status
changes that have occurred for any given service, host, or the entire Xymon system, and is used to generate the event- and history-log web-
pages.
Purging old entries can be done while Xymon is running, since the tool takes care not to commit updates to a file if it changes mid-way
through the operation. In that case, the update is aborted and the existing logfile is left untouched.
Optionally, this tool will also remove logfiles from hosts that are no longer defined in the Xymon bb-hosts(5) file. As an extension, even
logfiles from services can be removed, if the service no longer has a valid status-report logged in the current Xymon status.
OPTIONS --cutoff=TIME
This defines the cutoff-time when processing the history logs. Entries dated before this time are discarded. TIME is specified as
the number of seconds since the beginning of the Epoch. This is easily generated by the GNU date(1) utility, e.g. the following com-
mand will trim history logs of all entries prior to Oct. 1st 2004:
trimhistory --cutoff=`date +%s --date="1 Oct 2004"`
--outdir=DIRECTORY
Normally, files in the BBHIST directory are replaced. This option causes trimhistory to save the shortened history logfiles to
another directory, so you can verify that the operation works as intended. The output directory must exist.
--drop Causes trimhistory to delete files from hosts that are not listed in the bb-hosts(5) file.
--dropsvcs
Causes trimhistory to delete files from services that are not currently tracked by Xymon. Normally these files would be left
untouched if only the host exists.
--droplogs
Process the BBHISTLOGS directory also, and delete status-logs from events prior to the cut-off time. Note that this can dramatically
increase the processing time, since there are often lots and lots of files to process.
--progress[=N]
This will cause trimhistory to output a status line for every N history logs or status-log collections it processes, to indicate how
far it has progressed. The default setting for N is 100.
--env=FILENAME
Loads the environment from FILENAME before executing trimhistory.
--debug
Enable debugging output.
FILES
$BBHIST/allevents
The eventlog of all events that have happened in Xymon.
$BBHIST/HOSTNAME
The per-host eventlogs.
$BBHIST/HOSTNAME.SERVICE
The per-service eventlogs.
$BBHISTLOGS/*/*
The historical status-logs.
ENVIRONMENT VARIABLES
BBHIST The directory holding all history logs.
BBHISTLOGS
The top-level directory for the historical status-log collections.
BBHOSTS
The location of the bb-hosts file, holding the list of currently known hosts in Xymon.
SEE ALSO xymon(7), bb-hosts(5)Xymon Version 4.2.3: 4 Feb 2009 TRIMHISTORY(8)