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
bootlogd
BOOTLOGD(8) Linux System Administrator's Manual BOOTLOGD(8)NAME
bootlogd - record boot messages
SYNOPSIS
/sbin/bootlogd [-c] [-d] [-r] [-s] [-v] [ -l logfile ] [ -p pidfile ]
DESCRIPTION
Bootlogd runs in the background and copies all strings sent to the /dev/console device to a logfile. If the logfile is not accessible, the
messages will be kept in memory until it is.
OPTIONS -d Do not fork and run in the background.
-c Attempt to write to the logfile even if it does not yet exist. Without this option, bootlogd will wait for the logfile to appear
before attempting to write to it. This behavior prevents bootlogd from creating logfiles under mount points.
-r If there is an existing logfile called logfile rename it to logfile~ unless logfile~ already exists.
-s Ensure that the data is written to the file after each line by calling fdatasync(3). This will slow down a fsck(8) process running
in parallel.
-v Show version.
-l logfile
Log to this logfile. The default is /var/log/boot.
-p pidfile
Put process-id in this file. The default is no pidfile.
BUGS
Bootlogd works by redirecting the console output from the console device. (Consequently bootlogd requires PTY support in the kernel con-
figuration.) It copies that output to the real console device and to a log file. There is no standard way of ascertaining the real con-
sole device if you have a new-style /dev/console device (major 5, minor 1) so bootlogd parses the kernel command line looking for con-
sole=... lines and deduces the real console device from that. If that syntax is ever changed by the kernel, or a console type is used that
bootlogd does not know about then bootlogd will not work.
AUTHOR
Miquel van Smoorenburg, miquels@cistron.nl
SEE ALSO dmesg(8),fdatasync(3).
Jul 21, 2003 BOOTLOGD(8)