The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Skript för automatisk radering av gamla mapp summerpeh Sun Solaris 5 09-04-2008 11:27
skript för borttagning med hjälp av jokertecken aishu UNIX for Dummies Frågor & Svar 1 01-09-2008 05:37
Skript för automatisk radering av skräp fil i e-postserver crown2100bd Sun Solaris 1 09-20-2007 09:01
Skript för automatisk radering av gamla filer vivek_scv Shell-programmering och Skript 4 09-09-2007 02:57
dynamisk global script isingh786 Shell-programmering och Skript 2 01-24-2007 08:35

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 10-16-2008
cbo0485 cbo0485 is offline
Registered User
  
 

Join Date: mars 2008
Inlägg: 87
Dynamisk Log Radering / Rotatoin Script

Jag har skrivit en liten statisk script för min logg radering, men jag undrade om det fanns ett sätt att göra det till ett dynamiskt skript. här är hur min skript fungerar idag.


Kod:
#!/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`."

Nu till detta script, jag måste helt enkelt kopiera och klistra in ett nytt block när jag skapar en ny apache server, men jag tänkte att eftersom katalogstrukturen och log filnamn är alltid desamma, finns det något sätt jag skulle kunna lägga in några faktisk logik i detta.

Eventuellt cd till / opt / apache / gör en lista och sedan på något sätt använda en matris och en slinga för att fånga namnet på varje katalog i en variabel, och sedan använda som variabel för att köra kommandot Sök, dessa 4 rader, därefter om en annan katalogen finns upprepa.
  #2 (permalänk)  
Old 10-16-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: februari 2006
Ort: Almería, Spanien
Inlägg: 393
Hej, använd:

Kod:
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 {} \;

Hälsningar
  #3 (permalänk)  
Old 10-16-2008
cbo0485 cbo0485 is offline
Registered User
  
 

Join Date: mars 2008
Inlägg: 87
Citat:
Ursprungligen postat av Klashxx View Post
Hej, använd:

Kod:
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 {} \;

Hälsningar
Testet * katalog är faktiskt inte alla namngivna testa, det är namnet på våra webbservrar, och de har inte ett normalt mönster sådär. Kan jag ersätta bara en * för test *? För att göra det


Kod:
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 {} \;

  #4 (permalänk)  
Old 10-16-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: februari 2006
Ort: Almería, Spanien
Inlägg: 393
Självklart!
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 06:02.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0