Ältere Dateien finden und löschen

  • Hallo allerseits,


    habe mir diesen Befehl ergoogelt um Dateien älter als X Tage zu löschen.


    Code
    /opt/bin/find /path/to/files -type f -mtime +X -exec rm {} \;


    find ist im Pfad und bis zum -exec scheint es auch zu funktioneren aber -exec wird nicht mal in der Hilfe als Switch angezeigt.


    Bin kein Linuxxer .. kann mich bitte einer in die richtige Richtung schubsen?


    VG

  • -exec rm {} \;

    Geht, ist aber dreckig... weil es einen zusätzlichen rm-Prozess erzeugt für jede zu löschende Datei.


    Schneller, einfacher und sauberer ist: /opt/bin/find /path/to/files -type f -mtime +X -delete

  • Genau .. beides geht nicht .. da mit den Primaries oder Actions .. sagt mir leider gar nichts :(

    Kann in Linux ganz gut Rezepte abarbeiten .. alleine geht ein bisschen aber nicht viel.

  • Genau .. beides geht nicht ..

    ??? Es geht. Habe ich schon dutzend mal gemacht.



    da mit den Primaries oder Actions .. sagt mir leider gar nichts

    Da gegen soll es helfen die GANZE HILFE von find zu lesen und nicht nur die Expressions.



    Kann in Linux ganz gut Rezepte abarbeiten .. alleine geht ein bisschen aber nicht viel.

    Dann arbeite halt das Rezept ab.



    Oder hier.. ganz einfaches Rezept --> find --help


    2 Mal editiert, zuletzt von Barungar ()

  • Wenn ich das eingebe erhalte ich die Hilfeseite mit den Switches:


    find /share/backup/__weekly -type f -mtime +30 -exec rm {} \;


    Bei

    /opt/bin/find


    erhalte ich


    -sh: /opt/bin/find: No such file or directory


    Es kommt mir vor als hätte ich eine andere Find-Version drauf.


    Meine Hilfeseite ist auch nur so kurz wie bei meinem Screenshot oben.

    3 Mal editiert, zuletzt von daniello ()

  • Und wenn etwas nicht geht, dann gib bitte eine Fehlermeldung an oder poste den Befehl samt Rückmeldung (bitte in Code Tags).


    Gruss


    Edit: Hat sich überschnitten. find benötigt i.d.R. keine Pfadangabe, zumindest nicht bei mir.

    Das kommt mit --help raus:

    Mit which find findest Du den Pfad, der kann je nach QTS auch /usr/bin sein!

    2 Mal editiert, zuletzt von FSC830 ()

  • Auch


    busybox find --help


    liefert obige kurze Hilfeseite


    und which find liefert /usr/bin/find


    frosch2 habe Entware auf meinem HS-210 installiert aber leider sagt mir opkg update nur

    -sh: opkg: command not found

    Einmal editiert, zuletzt von daniello ()

  • Code
    /opt/bin/opkg update
    /opt/bin/opkg install findutils
  • Hab entware jetzt installiert bekommen und obwohl ich beim Installieren der findutils die Meldung erhalte, dass die in root installiert version bereits aktuell ist .. scheint es jeztzt mit der Version /opt/bin/find zu funktioneren .. denke ich komme jetzt weiter.


    Danke euch allen!


    Für die Nachwelt .. so konnte ich es installieren:


    Code
    wget http://bin.entware.net/other/Entware_1.03std.qpkg
    sh Entware_1.03std.qpkg

    Hier gefunden:

    [HowTo] Entware-ng und Linux-Pakete installieren

    4 Mal editiert, zuletzt von daniello ()