The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com



Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Script for automatic deletion of old folder summerpeh SUN Solaris 5 09-04-2008 10:27 PM
script for deletion using wildcards aishu UNIX for Dummies Questions & Answers 1 01-09-2008 04:37 PM
Script for automatic deletion of trash file of mail server crown2100bd SUN Solaris 1 09-20-2007 08:01 AM
Script for automatic deletion of old files vivek_scv Shell Programming and Scripting 4 09-09-2007 01:57 AM
dynamic global script isingh786 Shell Programming and Scripting 2 01-24-2007 07:35 PM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-16-2008
Registered User
 

Join Date: Mar 2008
Posts: 65
Dynamic Log Deletion/Rotatoin Script

I've written a small static script for my log deletion, but I was wondering if there was a way to make it a dynamic script. here is how my script currently works.

Code:
#!/bin/sh
###########################################
#Script to zip logs older than 1 week old
#and to delete logs older than 30 days old
###########################################
#
##TEST
#
cd /opt/apache/test/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test1/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test2/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
echo "Script complete on `date +%D`."
Now for this particular script, i have to simply copy and paste a new block when I create a new apache server, but I figured since the directory structure and log file names are always the same, there would be some way I could add in some actual logic on this.

Possibly cd to /opt/apache/, do a listing, then somehow use an array and a loop to capture the name of each directory in to a variable, and then use that variable to run the find command, do those 4 lines, then if another directory exists repeat.
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 10-16-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
 

Join Date: Feb 2006
Location: Almerķa, Spain
Posts: 387
Hi, use:
Code:
find /opt/apache/test*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/test*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;
Regards
Reply With Quote
  #3 (permalink)  
Old 10-16-2008
Registered User
 

Join Date: Mar 2008
Posts: 65
Quote:
Originally Posted by Klashxx View Post
Hi, use:
Code:
find /opt/apache/test*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/test*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;
Regards
The test* directory isn't actually all named test, it's the name of our webservers, and they don't have a normal pattern like that. Can I just substitute an * for test*? To make it

Code:
find /opt/apache/*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;
Reply With Quote
  #4 (permalink)  
Old 10-16-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
 

Join Date: Feb 2006
Location: Almerķa, Spain
Posts: 387
Of course!
Reply With Quote
Google The UNIX and Linux Forums
Reply

Bookmarks

Tags
None

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:




All times are GMT -4. The time now is 08:31 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66