X Tage alte Dateien löschen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von brahma, 02.04.2009.

  1. brahma

    brahma Netzpirat

    Dabei seit:
    06.12.2005
    Beiträge:
    709
    Zustimmungen:
    0
    Ort:
    Münsterland
    Hab ich das richtig in der man-page verstanden?

    heisst das
    Code:
    find /media/laufwerk -mtime X -type f -exec rm {} \;
    mir alle Dateien in /media/laufwerk die X Tage und älter sucht und löscht? oder muss das -mtime +X heissen für die Zeitangabe?
     
  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. Tblue

    Tblue Tripel-As

    Dabei seit:
    27.11.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Es muss wohl
    Code:
    mtime +X
    heißen.
    Anstatt
    Code:
    -exec rm {} \;
    kannst du auch einfach
    Code:
    -delete
    verwenden (ans Ende des find-Aufrufs anhängen).
     
  4. brahma

    brahma Netzpirat

    Dabei seit:
    06.12.2005
    Beiträge:
    709
    Zustimmungen:
    0
    Ort:
    Münsterland
    Ok, danke, hab ichs doch fast richtig verstanden ;)
     
  5. brahma

    brahma Netzpirat

    Dabei seit:
    06.12.2005
    Beiträge:
    709
    Zustimmungen:
    0
    Ort:
    Münsterland
    Hm, hab da noch eine kleine Frage, häng das einfach mal an....

    Folgende Abfolge: cp X Dateien, danach löschen im Quellordner.

    Wenn ich nun sage:

    dann fragt if doch mit $?==0 ab, ob der copy-Befehl ohne Fehler durchgelaufen ist oder? Sprich ich lösche erst, wenn die Dateien erfolgreich kopiert wurden, ansonsten kopierter nochmal oder?
    $? enthält immer den EXIT-Status des vorhergehenden abgeschlossenen Befehls oder?
     
  6. loobo

    loobo Grünschnabel

    Dabei seit:
    17.03.2009
    Beiträge:
    4
    Zustimmungen:
    0
    $? enthält den exitstatus des letzten Befehls - bei einem Fehler ist $? ungleich 0

    Ja, obwohl ich das mit dem nochmal kopieren so nicht lösen würde -> wenns beim ersten Kopieren schon nicht klappt wieso solls dann beim zweiten mal (vorallem falls du kein cp -f benutzt) besser funktionieren?
    Hab da mal schnell ein Script geschrieben das kopierte Dateien löscht und alle anderen Dateien am Bildschirm ausgibt
    Code:
    for file in *
    do
      cp "$file" "/dein/verzeichnis/"
      if [ $? -ne 0 ]
      then
        echo -e "$file konnte nicht kopiert werden\n"
      else
        rm "$file"
     fi
    done
    Zuerst eine for - Schleife die jede Datei im aktuellen Verzeichnis einzeln in "/dein/verzeichnis/" kopiert und überprüft obs auch funktioniert hat ansonsten wird eine Fehlermeldung ausgegeben

    Optional kannst auch "/dein/verzeichnis/" durch "$1" ersetzen und dein Zielverzeichnis so beim Scriptaufruf als Parameter angeben

    ja
     
Thema:

X Tage alte Dateien löschen

Die Seite wird geladen...

X Tage alte Dateien löschen - Ähnliche Themen

  1. Cronjob um Dateien und Ordner die älter als 7 Tage sind löschen

    Cronjob um Dateien und Ordner die älter als 7 Tage sind löschen: Hallo, ich habe auf einem Server einen HTTP File-Explorer installiert (AjaXplorer), auf dem User Dateien hochladen und verschicken können....
  2. Löschen von Verzeichnissen älter als x Tage per Cron (Script)

    Löschen von Verzeichnissen älter als x Tage per Cron (Script): Hallo,nach Stundenlanger Suche mit meinem Freund Google versuch ich es jetzt mal hier.... Folgendes vorhaben. Ich brauche ein Script was mir in...
  3. Datumsstrings älter als x Tage aus Datei löschen

    Datumsstrings älter als x Tage aus Datei löschen: Hallo, ich habe hier eine Datei mit Zeilen, in denen ein Datum enthalten ist (irgendwo mitten drin, Format Year-month-day). Jetzt überlege ich...
  4. Alle Dateien die älter sind als xx Tage löschen

    Alle Dateien die älter sind als xx Tage löschen: Hii... zuerst muss ich noch was sagen: Bashgob http://www.unixboard.de/vb3/showthread.php?t=19793 der war gut :P naja ist halb so schlimm. Mit...
  5. Bestimmte Dateienb älter 5 Tage löschen

    Bestimmte Dateienb älter 5 Tage löschen: :hilfe2: Hallo zusammen, möchte unter Redhat ES3 Version4 einige Dateien löschen die die Endung *.old haben und älter als 5 Tage sind. Habe...