Delete Script

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Nolo, 20.02.2009.

  1. Nolo

    Nolo Grünschnabel

    Dabei seit:
    30.10.2008
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo,

    ich möchte mir ein delete script schreiben welches alle daten, ordner und unterordner löscht die älter als 365 Tage sind.

    mein script sieht derzeit so aus:
    Code:
    find /home -mtime +365 -exec rm {} \;
    find /home -type d -exec rmdir --ignore-fail-on-non-empty {} \;
    find /home-empty -exec rmdir {} +
    Er löscht die Dateien und sofern es maximal einen unterordner gibt löscht er diesen auch.

    Sobald es mehr als einen Unterordner gibt löscht er die ordner nicht (Dateien werden trotzdem gelöscht).

    Damit es übersichtlicher wird sollen diese auch weg.

    Vielleicht kann mir jemand ja einen Tip geben wie man dies realisieren kann.



    Vielen Dank
    Nolo
     
  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. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Wenn Du in der letzten Zeile 'rmdir -p {} +' statt 'rmdir {} +' schreibst, muesste es funktionieren.
     
  4. #3 floyd62, 20.02.2009
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Eventuell ginge das auch in einem einzigen find, etwa so:
    Code:
    find $startdir -depth \
            -type f -mtime +365 -exec rm -f {} \; \
            -o \
            -type d -empty -exec rmdir {} \;
    
    Mit "-depth" stellst du sicher, dass die Verzeichnisinhalte abgearbeitet (also ggf. gelöscht) werden, bevor find über das Verzeichnis selbst herfällt; die zweite Zeile löscht alle normalen Dateien, die älter als 365 Tage sind, und im letzten Schritt werden dann (-depth, also "von unter herauf") alle leeren Directories entfernt.

    Grüsse
     
  5. nighT

    nighT Guest

    Eine andere Lösung wäre "rm -r" damit löscht er alle Dateien incl Verzeichnisse auf einen schlag. Ob es klug ist, diese Funktion zu nutzen musst du auf deine Anwendung selbst entscheiden.
     
  6. #5 supersucker, 20.02.2009
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Nein, wäre es eben nicht.

    Warum das so ist, überlaß ich dir als Denksportaufgabe.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 Gast1, 20.02.2009
    Zuletzt von einem Moderator bearbeitet: 20.02.2009
    Gast1

    Gast1 Guest

    Eben, ohne zusätzliches "-f" ist das Ganze nur was für Sitzpinkler, Weicheier und Schattenparker, von eventuellen "lästigen Nachfragen" mal ganz abgesehen.

    Hab ich jetzt gewonnen? :devil:

    (SCNR)

    Greetz,

    R_ead_M_ail_(-read_-fast)
     
  9. nighT

    nighT Guest

    @Rain_Maker: Jetzt bin ich beleidigt und die Denkaufgabe war für mich X(

    Und wenn er den Befehl als root ausführt, bekommt er auch keine "lästigen Nachfragen" :]

    Und ich Zitiere mich mal selbst...:
     
Thema:

Delete Script

Die Seite wird geladen...

Delete Script - Ähnliche Themen

  1. deleted

    deleted: deleted
  2. Speicherfreigabe bei delete

    Speicherfreigabe bei delete: Hi, ich hab mal eine kleine frage, warum funktioniert das? #include<iostream> using namespace std; int main(int argc, char *argv[]) {...
  3. Amavis verewigt sich nicht im Mailheader + seltsame unseen-deleted-Meldungen

    Amavis verewigt sich nicht im Mailheader + seltsame unseen-deleted-Meldungen: Ich ärgere mich gerade mal wieder mit Postfix und Amavis rum. Ansich scheint alles soweit zu funktionieren, aber irgendwie vermerkt Amavis im...
  4. Programmieren mit qt: new vs. delete

    Programmieren mit qt: new vs. delete: Ich gucke mir grade ein paar Beispiele zu Qt4.2 an, zum Beispiel dieses hier. Dabei faellt auf, dass sehr selten, manchmal nie, der Speicher, der...
  5. [ArchLinux] Backspace = Delete

    [ArchLinux] Backspace = Delete: Guten Abend :)! Folgendes Problem: wenn ich über SSH auf meinen Debian vServer connecte und dort dann z.B. aptitude starte, verhält sich die...