Sponsored Content
Top Forums Shell Programming and Scripting If I ran perl script again,old logs should move with today date and new logs should generate. Post 303014562 by MadeInGermany on Wednesday 14th of March 2018 03:27:28 PM
Old 03-14-2018
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.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove out date logs

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)
Discussion started by: eric_wong_ch
2 Replies

2. Shell Programming and Scripting

Perl script to rotate logs

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)
Discussion started by: theninja
18 Replies

3. Solaris

Remove logs by date

Hi I Need To Remove Logs Older Than April 1 St(4/1/2007) By Date I Have A Script To Remove 3 Months Old Like Using 90 Days Thanks (3 Replies)
Discussion started by: cvdev
3 Replies

4. Shell Programming and Scripting

script to move logs

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)
Discussion started by: photon
7 Replies

5. Shell Programming and Scripting

Grep yesterday logs from weblogic logs

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)
Discussion started by: harish.parker
3 Replies

6. Shell Programming and Scripting

shell script to auto process ten random files and generate logs

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)
Discussion started by: novice82
1 Replies

7. Shell Programming and Scripting

Lots of logs to move....don't remove if open

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)
Discussion started by: nestafaria
7 Replies

8. Shell Programming and Scripting

Script to Search Logs Several Directories Pulling out Only Current Date

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)
Discussion started by: lenaf7
6 Replies

9. Shell Programming and Scripting

Perl script to parse multiple windows event logs.

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)
Discussion started by: kar_333
3 Replies

10. Shell Programming and Scripting

Perl script to extract last 24 hrs logs from cronlog

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
Log::Handler::Levels(3pm)				User Contributed Perl Documentation				 Log::Handler::Levels(3pm)

NAME
Log::Handler::Levels - All levels for Log::Handler. DESCRIPTION
Base class for Log::Handler. Just for internal usage and documentation. METHODS
Default log level debug() info() notice() warning(), warn() error(), err() critical(), crit() alert() emergency(), emerg() Checking for active levels is_debug() is_info() is_notice() is_warning(), is_warn() is_error(), is_err() is_critical(), is_crit() is_alert() is_emergency(), is_emerg() Special level fatal() Alternative for the levels "critical" - "emergency". is_fatal() Check if one of the levels "critical" - "emergency" is active. Special methods trace() This method is very useful if you want to add a full backtrace to your message. Maybe you want to intercept unexpected errors and want to know who called "die()". $SIG{__DIE__} = sub { $log->trace(emergency => @_) }; By default the backtrace is logged as level "debug". # would log with the level debug $log->trace('who called who'); If you want to log with another level then you can pass the level as first argument: $log->trace(info => $message); dump() If you want to dump something then you can use "dump()". The default level is "debug". my %hash = (foo => 1, bar => 2); $log->dump(\%hash); If you want to log with another level then you can pass the level as first argument: $log->dump($level => \%hash); die() This method logs the message to the output and then call "Carp::croak()" with the level "emergency" by default. $log->die('an emergency error here'); If you want to log with another level, then you can pass the level as first argument: $log->die(fatal => 'an emergency error here'); log() With this method it's possible to log messages with the log level as first argument: $log->log(info => 'an info message'); Is the same like $log->info('an info message'); and $log->log('an info message'); If you log without a level then the default level is "info". PREREQUISITES
Carp Data::Dumper EXPORTS
No exports. REPORT BUGS
Please report all bugs to <jschulz.cpan(at)bloonix.de>. If you send me a mail then add Log::Handler into the subject. AUTHOR
Jonny Schulz <jschulz.cpan(at)bloonix.de>. COPYRIGHT
Copyright (C) 2007-2009 by Jonny Schulz. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-11-21 Log::Handler::Levels(3pm)
All times are GMT -4. The time now is 04:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy