skip to main | skip to sidebar

Perl Programming Language Tutorial

Pages

  • Home
 
  • RSS
  • Twitter
Wednesday, October 17, 2012

Script to rotate any log file

Posted by Raju Gupta at 9:59 AM – 0 comments
 

This script creates a copy of standard out log files of Weblogic Server after it has reached a predefined size limit,renames it with current date & generates a fresh log file of zero byte size.


 #!/usr/bin/perl
# Name:       rotateLog.pl
# Script to rotate any log file.
# Usage: rotateLog.pl my.log
#
use strict;

my ( $LOGFILE, $MAXLOGS, $DELNUM );

$LOGFILE = $ARGV[0];
$MAXLOGS = 30;
print $LOGFILE;
# if ( -e $LOGFILE ) {

   my ( @LOGS, $LOG, $LASTNUM );
   @LOGS = `ls -1 $LOGFILE?*`;

   $DELNUM = ( scalar(@LOGS) - $MAXLOGS );
   if ( $DELNUM gt 0 ) { print "Need to delete $DELNUM files.\n"; }

   foreach $LOG( @LOGS ) {
      chomp($LOG);
      # Delete logs until less than MAXLOGS
      if ($DELNUM gt 0) {
         print "Deleting log $LOG.\n";
         unlink $LOG;
         $DELNUM = $DELNUM -1;
      }

      # Strip log number from log
      $LASTNUM = $LOG;
      $LASTNUM =~ s/$LOGFILE//g;
   }

   # Increment log number for new file
   $LASTNUM ++;
   $LASTNUM = sprintf("%03d", $LASTNUM);

   # Copy current log to backup
   print "Rotating $LOGFILE to $LOGFILE$LASTNUM.\n";
   system("/usr/bin/cp $LOGFILE $LOGFILE$LASTNUM");

   # Create replacement current log
   system("/usr/bin/cat /dev/null > $LOGFILE");

# }
# else {

  #  print "Error: Log file $LOGFILE not found.\n";

# }

Email This BlogThis! Share to X Share to Facebook

Leave a Reply

Newer Post Older Post
Subscribe to: Post Comments (Atom)
  • Popular
  • Recent
  • Archives

Popular Posts

  • Perl function to compare two dates
    This function can be used to compare two dates using PERL. The function accepts two string(date) arguments, let's say date1 and date2...
  • Perl script to find files older than x minutes
    This script can be used to find files in a windows directory older than 40 min. List can be emailed to a user also. Script can be modi...
  • Perl function to check whether the passed path is empty or not
    The function makes sure that the path (directory and/or file) passed to it as an Input parameter is empty or not. use constant SUCCESS ...
  • File size and modified time
    When we pass the file name (include full path) as parameter,It will give us the size of the file and last modified time. sub getFileSt...
  • Perl function to trim leading and trailing spaces from a string
    Leading and trailing spaces, if any present, are trimmed and the string is returned back to the caller. If a NULL string is passed, the func...
  • Fix Message Reader from Log
    Various subroutines of the package FixUtil can be used to read fix message (tag, value pair). Fix message can be extracted. Tag and Value ca...
  • Login screen using Perl
    This code snippet takes one parameter for default user and displays a login screen asking for user name and password . It aslo provides a...
  • Sepearte First name and last name by using PERL regular expressions
    We are using PERL regular expression. We are using 3 functions prxparse,prxmatch and prxposn. Prxparse takes regularexpression an...
  • Perl function to check whether file or dir name passed to it readable or not
    The function makes sure that the path (directory and/or file) passed to it as an Input parameter is readable or not   use constant SU...
  • Password encryption-Perl Script
    It is used to encrypt the password. Password to be encrypted is passed as agrument to this subroutine when called. sub encrypt_pass { ...
Powered by Blogger.

Archives

  • ▼  2012 (24)
    • ▼  October (24)
      • Sepearte First name and last name by using PERL re...
      • Validate Info-Perl Script
      • Print Message--Perl Script
      • Password encryption-Perl Script
      • Convert to Seconds--Perl script
      • File size and modified time
      • Convert to minute-Perl script
      • Login screen using Perl
      • Huge text file comparator
      • Parse Input - Perl Script
      • Get colored difference - Perl Script
      • Perl function to compare two dates
      • Script to rotate any log file
      • Cross Referencing script
      • Random Bunch Creation in Perl
      • NASDAQ Status checker using Perl
      • Fix Message Reader from Log
      • Perl script to find files older than x minutes
      • Perl function to check whether the passed path is ...
      • Date Arimatic
      • Perl function to trim leading and trailing spaces ...
      • Perl function to check whether the passed path is ...
      • Perl function to check whether file or dir name pa...
      • Perl function to check whether the passed path is ...
 

Followers

Labels

  • File Searching Example (1)
  • Perl Date Example (2)
  • Perl Encryption Example (1)
  • Perl File Example (2)
  • Validation Example (1)
 
 
© 2011 Perl Programming Language Tutorial | Designs by Web2feel & Fab Themes

Bloggerized by DheTemplate.com - Main Blogger