Automatisches Löschscript mit Ausnahmen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Sanches, 12.07.2004.

  1. #1 Sanches, 12.07.2004
    Sanches

    Sanches Jungspund

    Dabei seit:
    12.07.2004
    Beiträge:
    11
    Zustimmungen:
    0
    Hallo zusammen,

    ich versuche mir gerade ein Script zusammenzubasteln,
    das mir Daten, die älter als ein bestimmtes Zeitfenster sind, löscht.

    z.B. mit folgendem Script:
    find /"bestimmter-pfad" -mtime +14 -exec rm {} \;

    Ich suche jedoch noch eine Erweiterung, die es mir erlaubt,
    das ich z.B bestimmte Verzeichnisse (Namen!) nicht durchsuche und somit lösche! :evil:

    Weis hierfür jemand einen Rat / Tip ??? ?(

    Gruss Sanches
     
  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 rup, 12.07.2004
    Zuletzt bearbeitet: 12.07.2004
    rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    find /"bestimmter-pfad" -not -regex "\./pfad/.*" -mtime +14 -exec rm {} \;

    Edit: Ich hab .* am Ende des Pfades vergessen.
     
  4. #3 Sanches, 15.07.2004
    Sanches

    Sanches Jungspund

    Dabei seit:
    12.07.2004
    Beiträge:
    11
    Zustimmungen:
    0
    Danke rup!

    Jedoch geht das Script nicht! :(

    folgenden Aufruf habe ich verwendet:

    find /tmp/test -not -regex "\./allgemein/.*" -atime -14 -exec rm {} \;

    In meinem Test habe ich zurvor Dateien und Verz. mit unterschiedlichem Datum erstellt! Jedoch versucht er jedes mal ALLES zu löschen - egal wie alt!

    Abgesehen davon muss man noch die Änderung ... rm -r {} ... machen,
    da er sonst keine Verz. löscht.

    @rup: Hat das Script bei dir funktioniert???

    MfG Sanches
     
  5. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    Hallo Sanches,

    tut mir leid, ich hab den Befehl nur ganz kurz im aktuellen Verzeichnis (.) suchen lassen und deshalb bei dem Regex natuerlich mit \./ (Punkt ohne vorherigen Backslash wuerde jedes Zeichen ausser Zeilenumbruch abdecken) begonnen.
    z.B. find . -not -regex "\./xyz"
    Wenn du bei find nicht im aktuelle Verzeichnis suchst musst du den ganzen Pfad im regex angeben.
    find /tmp/test -not -regex "/tmp/test/allgemein.*"

    Wenn du mit rm -r loeschen willst, darfst du in dem Ausdruck nach dem Verzeichnis allgemein keinen Slash machen, da sonst das ganze Verzeichnis geloescht wuerde.
    Versuch es einfach mal ohne Loeschbefehl:
    find /tmp/test -not -regex "/tmp/test/allgemein.*" :]
    find /tmp/test -not -regex "/tmp/test/allgemein/.*" X(

    Dein Befehl sollte so funktionieren:
    find /tmp/test -not -regex "/tmp/test/allgemein.*" -atime -14 -exec rm {} \;

    Gruss Rupert
     
  6. #5 Sanches, 19.07.2004
    Sanches

    Sanches Jungspund

    Dabei seit:
    12.07.2004
    Beiträge:
    11
    Zustimmungen:
    0
    ich verzweifel noch ...

    Hallöchen,

    @rup: ich hab jetzt mal verschiedenes versucht:

    1.) folgenden Aufruf:
    find /tmp/sebo -not -regex "/tmp/sebo/allgemein.*"

    folgende Ausgabe erfolgte nun:
    /tmp/sebo
    /tmp/sebo/1
    /tmp/sebo/1/11
    /tmp/sebo/1/12
    /tmp/sebo/1/test.txt
    /tmp/sebo/1/text2.txt
    /tmp/sebo/4
    /tmp/sebo/4/44
    /tmp/sebo/4/41
    /tmp/sebo/2
    /tmp/sebo/2/hallo.txt
    /tmp/sebo/3
    /tmp/sebo/3/Verzeichnis
    /tmp/sebo/3/Verzeichnis/asdasdas
    /tmp/sebo/3/Verzeichnis/Verzeichnis

    => soweit alles im grünen Bereich! :D :D :D
    die Verzeichnisse 1 + 4 sind mit heutigem Datum (19.07!)
    die Verzeichnisse 2 + 3 sind mit dem Datum "19.06"
    Die verschienden Dateien sind mit unterschiedlichen Datum versehen!

    bei dieser Ausgabe wird das Verzeichnise "allgemein" ausgelassen => so solls auch sein!!! :tongue:

    2.) nun diesen Aufruf getestet:

    find /tmp/sebo -not -regex "/tmp/sebo/allgemein.*" -atime -14 -exec rm {} \;

    bei diesem Aufruf wird meine gesamte Struktur gelöscht! (wenn ich noch rm -r verwende!!!) :(

    d.h. der Fehler bei diesem Script liegt leider in der Zeiangabe! ansonst funzt alles! Er überspringt die, die er soll. Bei den restlichen Daten hat er Probleme mit den Zeitangaben!

    Leider habe ich hier auch schon mit atime & mtime versucht -> geht auch net!

    Ich verzweifel langsam ... ;( ;( ;(

    Gruss Sanches
     
  7. #6 rup, 19.07.2004
    Zuletzt bearbeitet: 23.07.2004
    rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    Ja, das erste Verzeichniss muss man auch noch ausnehmen:

    find /tmp/test -not -regex '/tmp/test' -not -regex "/tmp/test/allgemein.*" -atime -14 -exec rm {} \;
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Automatisches Löschscript mit Ausnahmen

Die Seite wird geladen...

Automatisches Löschscript mit Ausnahmen - Ähnliche Themen

  1. Apt: Automatisches Auflösen von Abhängigkeiten

    Apt: Automatisches Auflösen von Abhängigkeiten: Guten Abend, ich habe vor kurzem Debian 5 neu installiert (Grundsystem). Anschließend habe ich KDE nachinstalliert. Bis jetzt habe ich...
  2. openldap automatisches anlegen von Home-Ordner

    openldap automatisches anlegen von Home-Ordner: Hi! Also ich habe auf einem Ubuntu 8.10 Server openldap installiert und mit phpldapadmin konfiguriert. Mit diesem Webinterface habe ich dann...
  3. Automatisches mounten von Partition unter Gnom unterbinden

    Automatisches mounten von Partition unter Gnom unterbinden: Hallo Vorweg, es geht um Gnome unter Ututo (argent. Gentoo-Derivat) und as automatsiche Mounten von Partitionen. Da ich eher wmaker, fluxbox...
  4. [UNRAR] Automatisches löschen der .rar-Dateien nach dem Entpacken

    [UNRAR] Automatisches löschen der .rar-Dateien nach dem Entpacken: Hallo, ich konnte mich einige Zeit ohne Hilfe in der weiten Welt von Linux mehr oder weniger zurecht finden aber jetzt habe ich mal wieder ein...
  5. Automatisches umtauschen von Umlauten.

    Automatisches umtauschen von Umlauten.: Hi, hat hier jemand vielleicht mal son Skript geschrieben das Umlaute in Dateinamen in normale Buchstaben umtauscht. Für ganze...