Löschscript mit Logging

X

Xavantis

Gast
Hallo zusammen,

ich versuche derzeit ein shell script zu schreiben was die caches unserer Anwendungen wegräumt. Dabei soll es alle Dateien/Ordner entfernen die seit mehr als 150 Tagen nicht "angefasst" wurden. Alles was es löscht soll in eine Logdatei geschrieben werden.

Meine Idee war in etwa so:
Code:
#!/usr/bin/sh
LOGFILE="/var/log/clearcache.log"

find /home/*/cache/ type -f -atime +150 -exec date "+%Y-%m-%d %H:%M:%S" \; -exec rm -rv {} \; | xargs -L 2 >> $LOGFILE

Allerdings sieht das log noch recht unschön aus, - in etwa so:

Code:
2015-01-29 16:52:29 „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA06H_1/repertoire-6“ entfernt
2015-01-29 16:52:30 Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA06H_1“
2015-01-29 16:52:30 2015-01-29 16:52:30
Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0SH_1“ 2015-01-29 16:52:30
2015-01-29 16:52:30 Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0SC_1“
2015-01-29 16:52:30 „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA07Y_0/repertoire-6“ entfernt
2015-01-29 16:52:30 Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA07Y_0“
2015-01-29 16:52:30 „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8T30J9_0/repertoire-6“ entfernt
2015-01-29 16:52:31 Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8T30J9_0“
2015-01-29 16:52:31 Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA069_1“
Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8T30BY_1“ Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0IC_1“
Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA06Y_1“ Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8T306Y_1“
Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0WC_1“ Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0JY_0“
Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8T30IC_1“ Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA06C_1“
Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8T30JY_0“ Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0J9_0“
Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0IH_1“ Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0BY_1“
Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA03H_1“ Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA0W9_1“

Habt ihr eine Idee wie man es so hinbekommt das alles so aussieht:
Code:
2015-01-29 16:52:30 „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8T30J9_0/repertoire-6“ entfernt
2015-01-29 16:52:31 Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8T30J9_0“
2015-01-29 16:52:31 Verzeichnis wurde entfernt: „/home/acc-7/cache/50750_A50750_XSET_GLOBAL_2012-11-12/8T/2013/2013-02-04/8TA069_1“

Anscheinend braucht er bei einigen Verzeichnissen zu lange, so das er da nur murks ins log schreibt oder die Verzeichnisse werden nicht gefunden und dann kommt ein doppeltimestamp.

Danke und lieben Gruß,
Xavantis
 
Zuletzt bearbeitet von einem Moderator:

marce

Kaiser
Beiträge
1.297
Das Problem dürfte sich lösen, wenn Du nicht -exec verwendest sonder die Fundstellen von find in einer for- oder while-schleife abarbeitest und darin das Löschen und Loggen durchführst.
 

Ähnliche Themen

Mit AWK verschiedene Felder verschiedener Zeilen vergleichen

Creative Labs SoundBlaster Audigy 2 ZS unter Debian / Kernel 3.16

AWK Tip gesucht

Samba 4.1.11 Domänen anbindung funktioniert nicht !!!

X startet nichtmehr

Oben