knausser
Grünschnabel
Hallo,
ich komme mit folgendem Problem nicht weiter:
Ich suche per find Log-Files die es unter /opt/ in sehr vielen Verzeichnissen gibt.
find /opt/directory-nr*/logs/ -xdev -name grosse.log
Diese Log-Files möchte ich per cron-job täglich aufräumen. Ein rm -f kann ich leider nicht machen, da ein aktiver Server-Dienst diese Dateien im Zugriff hat. Das löschen geht zwar, jedoch hat der Server-Dienst dann Probleme wenn ich ihm per rm -f die Log-Files "unterm Hintern" weglösche.
Mit der I/O Umleitung :> kann ich die Datei auf 0 byte löschen:
root@box:/opt$: ls -l /opt/directory-nr10/logs/grosse.log
-rw-rw-r-- 1 admin adm 45473511 Aug 10 18:21 grosse.log
root@box:/opt$: :> /opt/directory-nr10/logs/grosse.log
root@box:/opt$: ls -l /opt/directory-nr10/logs/grosse.log
-rw-rw-r-- 1 admin adm 0 Aug 10 18:21 grosse.log
Wenn ich das ganze jetzt mit einem find machen will - es soll ja nachts per cron-job laufen - dann hab ich leider keinen Erfolg:
root@box: /opt$: ls -l /opt/directory-nr11/logs/grosse.log
-rw-rw-r-- 1 admin adm 45498988 Aug 10 18:21 grosse.log
root@box:/opt$: find /opt/directory-nr*/logs/ -xdev -name grosse.log -exec :> '{}' ';'
root@box: /opt$: ls -l /opt/directory-nr11/logs/grosse.log
-rw-rw-r-- 1 admin adm 45498988 Aug 10 18:21 grosse.log
Wäre super wenn mir hier jemand einen Tipp geben könnte. Ich habe Solaris 10 mit der bash im Einsatz.
Vorab vielen Dank!
ich komme mit folgendem Problem nicht weiter:
Ich suche per find Log-Files die es unter /opt/ in sehr vielen Verzeichnissen gibt.
find /opt/directory-nr*/logs/ -xdev -name grosse.log
Diese Log-Files möchte ich per cron-job täglich aufräumen. Ein rm -f kann ich leider nicht machen, da ein aktiver Server-Dienst diese Dateien im Zugriff hat. Das löschen geht zwar, jedoch hat der Server-Dienst dann Probleme wenn ich ihm per rm -f die Log-Files "unterm Hintern" weglösche.
Mit der I/O Umleitung :> kann ich die Datei auf 0 byte löschen:
root@box:/opt$: ls -l /opt/directory-nr10/logs/grosse.log
-rw-rw-r-- 1 admin adm 45473511 Aug 10 18:21 grosse.log
root@box:/opt$: :> /opt/directory-nr10/logs/grosse.log
root@box:/opt$: ls -l /opt/directory-nr10/logs/grosse.log
-rw-rw-r-- 1 admin adm 0 Aug 10 18:21 grosse.log
Wenn ich das ganze jetzt mit einem find machen will - es soll ja nachts per cron-job laufen - dann hab ich leider keinen Erfolg:
root@box: /opt$: ls -l /opt/directory-nr11/logs/grosse.log
-rw-rw-r-- 1 admin adm 45498988 Aug 10 18:21 grosse.log
root@box:/opt$: find /opt/directory-nr*/logs/ -xdev -name grosse.log -exec :> '{}' ';'
root@box: /opt$: ls -l /opt/directory-nr11/logs/grosse.log
-rw-rw-r-- 1 admin adm 45498988 Aug 10 18:21 grosse.log
Wäre super wenn mir hier jemand einen Tipp geben könnte. Ich habe Solaris 10 mit der bash im Einsatz.
Vorab vielen Dank!