![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
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. |
|
||||
|
Citat:
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 {} \;
|
![]() |
| Komihåglista |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|