mit find den Inhalt von Dateien löschen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von knausser, 11.08.2006.

  1. #1 knausser, 11.08.2006
    knausser

    knausser Grünschnabel

    Dabei seit:
    31.05.2006
    Beiträge:
    6
    Zustimmungen:
    0
    Ort:
    munich - down town
    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!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 11.08.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    Dein Script sollte mit den richtigen Rechten laufen. (sicher admin oder root)
    Schreib den Befehl am Besten in ein Script, sonst interpretiert crontab schon die Umleitung.
    e.g.
    Code:
    #!/bin/bash
    find /opt/directory-nr*/logs/ -xdev -name grosse.log -exec echo "">{} \;
    
    Sollte eigentlich gehen.
    Du kannst aber auch eine Schleife basteln, und das einzeln erledigen:
    Code:
    #!/bin/bash
    for I in $(find /opt/directory-nr*/logs/ -xdev -name grosse.log); do
    >$I;
    done
    
    Gruß Wolfgang
     
Thema:

mit find den Inhalt von Dateien löschen

Die Seite wird geladen...

mit find den Inhalt von Dateien löschen - Ähnliche Themen

  1. Beagle findet keine Inhalte von ppt und xls

    Beagle findet keine Inhalte von ppt und xls: Hallo Leute, beagle findet bei mir zwar ppt und xls aber nicht die Inhalte. Bei doc klappt alles ohne Probleme und auch sonst läuft alles. Ich...
  2. Wo befindet sich der Autostartordner?

    Wo befindet sich der Autostartordner?: Hallo ich habe CentOS 7.2.15.11 und Desktopumgebung mate , wo befindet sich der Autostartordner?
  3. Fragen zu find

    Fragen zu find: Hallo an alle, Ich bin ziemlich neu in der Linux Welt und habe paar frage Ich soll alle Datein im system finden die vor weniger als drei Tagen...
  4. Rechner im lokalen Netzwerk finden

    Rechner im lokalen Netzwerk finden: Hallo, in meiner Firma habe ich zwei Linux-Rechner, die ganz modern mit dem Internet verbunden sind. Jetzt möchte ich von dem einem Rechner...
  5. BSI-Audit findet keine akuten Probleme in OpenSSL

    BSI-Audit findet keine akuten Probleme in OpenSSL: Das Bundesamt für Sicherheit in der Informationstechnik hat OpenSSL auf seine Sicherheit untersuchen lassen. Die Analyse zeigt vor allem, dass die...