1. Foren
  2. » Kommentare
  3. » OpenSource
  4. » Alle Kommentare zum Artikel
  5. » Papierkorb für Samba-Freigaben

Mein Script: Aber nicht meinen Anwendern sagen!

Anzeige
  1. Thema

Neues Thema Ansicht wechseln


  1. Mein Script: Aber nicht meinen Anwendern sagen!

    Autor Alternativ kostenlos registrieren 12.04.10 - 17:37

    ... denn sonst stehen die demnächst ständig bei mir am Schreibtisch um sich Dateien wieder herstellen zu lassen ;-)

    Ich lösche in zwei Schritten:
    1. Aus den diversen Papierkörben in ein temporäres Verzeichnis nach 30 Tagen.
    2. Entgültiges Löschen nach 60 Tagen.

    Ich erzähle meinen Anwendern das es ein Heidenaufwand ist eine gelöschte Datei wieder herzustellen (das daraus resultierende schlechte Gewissen wird sich noch als nützlich erweisen und schärft zudem die Sinne des Anwenders).

    #cleanRecycle.sh

    TRASHLIST=$(find /data/samba/* -name .recycle)

    find $TRASHLIST -type f -name '*.tmp' -exec rm -rf {} \;
    find $TRASHLIST -type f -name '*.TMP' -exec rm -rf {} \;
    find $TRASHLIST -type f -name '*.avi' -exec rm -rf {} \;
    find $TRASHLIST -type f -name '*.mp3' -exec rm -rf {} \;


    find $TRASHLIST -type f -mtime +30 -exec mv {} /data/samba/Recycle_TMP/ \;
    find $TRASHLIST -type f -mtime +60 -exec rm -rf {} /data/samba/Recycle_TMP/ \;

    (Verbesserungsvorschläge willkommen)

  2. Ach ja: Natürlich per Crontab

    Autor Alternativ kostenlos registrieren 12.04.10 - 17:39

    Der Vollständigkeit halber:

    # Jeden Tag um 02:00 Uhr alle Papierkoerbe von Dateien mit Endung *.tmp, *.TMP sowie aelter als 30 Tage sauebern
    0 2 * * * /root/script/cleanRecycle.sh

  3. Re: Ach ja: Natürlich per Crontab

    Autor Anti-Troll 12.04.10 - 17:57

    Auf keinen Fall mit / anstatt /data/samba ausführen, sonst habt ihr bald keine Filme und Musik mehr auf der Festplatte!

    Nur als Warnung. find sollte man nicht unterschätzen und vor allem niemandem, egal wie seriös der Kommentator, trauen, wenn rm im Spiel ist.

  4. Re: Ach ja: Natürlich per Crontab

    Autor Alternativ kostenlos registrieren 12.04.10 - 18:08

    Ist in der Tat ein wichtiger Hinweis!

    Allerdings werden nur Filme und Musik aus .recycle-Verzeichnissen gelöscht.

    Ich werde nächstes mal eine Script-Angabe mit Kommentaren bei evtl. schädlichen Befehlen versehen so das niemand ausversehen ein Problem bekommt.

    Oder: Ich lasse mich zukünftig von der Musik-Industrie für solche Posts bezahlen ;-)

  5. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor nepumuk 12.04.10 - 18:09

    Alternativ kostenlos registrieren schrieb:
    --------------------------------------------------------------------------------
    > (Verbesserungsvorschläge willkommen)

    statt

    > find $TRASHLIST -type f -name '*.tmp' -exec rm -rf {} \;
    > find $TRASHLIST -type f -name '*.TMP' -exec rm -rf {} \;

    einfach -iname verwenden ;)

    > find $TRASHLIST -type f -iname '*.tmp' -exec rm -rf {} \;
    > find $TRASHLIST -type f -iname '*.TMP' -exec rm -rf {} \;

    oder noch eleganter:

    files=tmp|avi|mp3
    find -regextype posix-awk -iregex '.*\.('$files')$' -exec rm -rf {} \;

  6. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor nepumuk 12.04.10 - 18:11

    Update: Da war ich zu schnell mit Copy/Paste.

    Bei find und -iname braucht man natürlich nur och eine Zeile:

    > find $TRASHLIST -type f -iname '*.tmp' -exec rm -rf {} \;

  7. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor Alternativ kostenlos registrieren 12.04.10 - 18:17

    nepumuk schrieb:
    --------------------------------------------------------------------------------
    > Alternativ kostenlos registrieren schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > (Verbesserungsvorschläge willkommen)
    >
    > einfach -iname verwenden ;)
    >
    > > find $TRASHLIST -type f -iname '*.tmp' -exec rm -rf {} \;
    > > find $TRASHLIST -type f -iname '*.TMP' -exec rm -rf {} \;
    >

    Müsstes es dann nicht...

    > > find $TRASHLIST -type f -iname '*.tmp' -exec rm -rf {} \;

    ... heißen (nur noch eine Zeile)? ;-)

    > oder noch eleganter:
    >
    > files=tmp|avi|mp3
    > find -regextype posix-awk -iregex '.*\.('$files')$' -exec rm -rf {} \;

    Vielen Dank! Werde ich mal analysieren (auf anhieb verstehe die regex nicht; ich HASSE regex. Mein Gehirn verweigert sich da immer).

    Gruß
    Martin

  8. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor fahfdhdsdshdgfdgfdsgf 12.04.10 - 18:17

    Alternativ kostenlos registrieren schrieb:
    --------------------------------------------------------------------------------
    > find $TRASHLIST -type f -mtime +60 -exec rm -rf {} /data/samba/Recycle_TMP/
    > \;


    Würde diese Zeile nicht alle gefundenen Dateien UND das Verzeichnis /data/samba/Recycle_TMP/ SAMT INHALT löschen? Ich glaube nicht, dass das so beabsichtigt ist

  9. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor nepumuk 12.04.10 - 18:29

    -mtime +60 löscht nur Dateien, die älter als 60 Tage sind.
    Die Logik vom dem Script ist dem Anwender die Dateien nach 30 Tagen zu entziehen aber erst nach 60 Tagen physikalisch zu löschen, falls doch noch jemand kommt uns eine Datei aus dem Papierkorb wieder haben möchte.

  10. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor Das Rad neu erfunden 12.04.10 - 18:30

    Alternativ kostenlos registrieren schrieb:
    --------------------------------------------------------------------------------
    > (Verbesserungsvorschläge willkommen)
    Du könntest auch ganz einfach rdiff-backup nehmen. 1x am Tag Backup und Papierkorb leeren und alle Backups älter als 60 automatisch löschen lassen. Wäre wohl ein 3-Zeilen-Skript. Damit kannst du dann sogar jeden dieser 60 Tage wieder komplett herstellen, sehr schön für alte Dokumentenversionen.

  11. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor Alternativ kostenlos registrieren 12.04.10 - 18:30

    fahfdhdsdshdgfdgfdsgf schrieb:
    --------------------------------------------------------------------------------
    > Alternativ kostenlos registrieren schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > find $TRASHLIST -type f -mtime +60 -exec rm -rf {}
    > /data/samba/Recycle_TMP/
    > > \;
    >
    > Würde diese Zeile nicht alle gefundenen Dateien UND das Verzeichnis
    > /data/samba/Recycle_TMP/ SAMT INHALT löschen? Ich glaube nicht, dass das so
    > beabsichtigt ist

    Öhm...

    1. Das Verzeichnis Recycle_TMP ist noch da.
    2. Sind Datei älter 60 Tage auch noch da (in Recycle_TMP).
    3. Der letzte Befehl versucht Dateien +60 in den regulären Papierkörben zu löschen. Die sind aber nicht mehr da (Dateien +30 wurden ja schon verschoben).

    Ergebnis: Der letzte Befehl ist totaler Schmutz und ich habe ein sehr großes Recycle_TMP Verzeichnis.

    Tja, das ist Peinlich. Aber das nenne ich mal einen Verbesserungsvorschlag ;-)

    Müsste (jetzt bin ich vorsichtig) so aussehen:

    find /data/samba/Recycle_TMP/ -type f -mtime +60 -exec rm -rf {} \;

    Alter... Gut das ich hier anonym unterwegs bin...

  12. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor nepumuk 12.04.10 - 18:37

    Alternativ kostenlos registrieren schrieb:
    --------------------------------------------------------------------------------
    >
    > Vielen Dank! Werde ich mal analysieren (auf anhieb verstehe die regex
    > nicht; ich HASSE regex. Mein Gehirn verweigert sich da immer).
    >
    > Gruß
    > Martin


    Ich liebe reguläre Ausdrücke, da die mir soviel Arbeit ersparen.

    Der Ausdruck ist ganz simpel. Ohne Shellvariable sieht er so aus:

    .*\.(tmp|avi|mp3)$

    Zusammengefasst bedeutet das:
    .* - Dateien, die 0 oder mehreren beliebigen Zeichen beginnen
    \. - gefolgt von einem Punkt
    (tmp|avi|mp3) - das Pipe Zeichen innerhalb einer Klammer bedeutet oder
    $ - Ende. D.H. danach darf nicht mehr kommen.

    Der Ausdruck findet also

    pokerface.mp3
    i_did_it_my_way.MP3
    Piano Cat.avi
    abcd.tmp
    .TMP <-- Wenn du das nicht willst, dann am Anfang des Ausdrucks .* durch .+ ersetzen

    nicht aber:

    playlist.mp3.lst
    test.avi~
    avi
    my.mp.3

  13. Re: Mein Script: UPDATE (aufgrund FEHLER)

    Autor Alternativ kostenlos registrieren 12.04.10 - 18:41

    In dem Script war ein Fehler! Nur falls das jemand tatsächlich kopieren sollte hier die korrigierte Fassung. Ein Verbesserungsvorschlag (danke nepumuk) mit drin:

    #cleanRecycle.sh

    TRASHLIST=$(find /data/samba/* -name .recycle)

    find $TRASHLIST -type f -iname '*.tmp' -exec rm -rf {} \;
    find $TRASHLIST -type f -iname '*.avi' -exec rm -rf {} \;
    find $TRASHLIST -type f -iname '*.mp3' -exec rm -rf {} \;


    find $TRASHLIST -type f -mtime +30 -exec mv {} /data/samba/Recycle_TMP/ \;
    find /data/samba/Recycle_TMP/ -type f -mtime +60 -exec rm -rf {} \;

  14. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor Alternativ kostenlos registrieren 12.04.10 - 18:45

    Vielen Dank für die Erläuterung!

    Schönen Abend noch!

  15. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor gfdsgfdsdgfgfdgfdsgfds 12.04.10 - 19:17

    nepumuk schrieb:
    --------------------------------------------------------------------------------
    > -mtime +60 löscht nur Dateien, die älter als 60 Tage sind.

    "-mtime" löscht gar nichts, sondern ist nur ein suchkriterium "rm -rf" hingegen löscht _alle_ übergebenen argumente, auch verzeichnisse...

  16. Re: Mein Script: Aber nicht meinen Anwendern sagen!

    Autor fsasasffdsafdsaa 12.04.10 - 19:19

    Alternativ kostenlos registrieren schrieb:
    --------------------------------------------------------------------------------
    > 3. Der letzte Befehl versucht Dateien +60 in den regulären Papierkörben zu
    > löschen. Die sind aber nicht mehr da (Dateien +30 wurden ja schon
    > verschoben).

    Die Tatsache, dass der letzte Befehl nichts findet, dürfte dir dein Verzeichnis gerettet haben :)

Neues Thema Ansicht wechseln


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen


Meistgelesen
  1. Libreoffice

    "Wir wollen Nutzer in die ODF-Welt ziehen"

  2. Browser

    Kauft Facebook Opera?

  3. Datenschutz

    Neue EU-Regeln zu Cookies treten in Kraft

  4. Samsung Galaxy S3

    Siri braucht sich nicht zu fürchten

  5. Schmerzlos

    MIT-Forscher entwickeln Injektor mit Lorentzkraft-Antrieb


Meistkommentiert
  1. Kommentare: 222 | letzter Beitrag 26.05. 23:51

  2. Kommentare: 216 | letzter Beitrag 00:27 Uhr

  3. Kommentare: 161 | letzter Beitrag 09:43 Uhr

  4. Kommentare: 93 | letzter Beitrag 26.05. 19:45

  5. Kommentare: 66 | letzter Beitrag 08:55 Uhr

Mehr



Haben wir etwas übersehen?

E-Mail an news@golem.de


Lollipop Chainsaw angespielt: Blond und brutal
Lollipop Chainsaw angespielt
Blond und brutal

Der japanische Spieldesigner Goichi Suda - Fans sagen schlicht "Suda 51" - ist für schräge Actionspiele bekannt. Sein nächstes Werk schickt ein scheinbar braves Schulmädchen in den Kampf gegen Zombies.

  1. Spielepublisher in Not dtp Entertainment meldet Insolvenz an
  2. US-Umsätze im März 2012 Spielemarkt schrumpft weiter
  3. Starlight Inception Lucas-Arts-Veteran kämpft für das Weltraum-Action-Genre

Samsung XE300: Google Chromebox versehentlich ausgeliefert
Samsung XE300
Google Chromebox versehentlich ausgeliefert

Weitgehend unbemerkt hat der US-Händler Tigerdirect die ersten Chromebox-Systeme von Google ausgeliefert. Für 330 US-Dollar bekommt der Nutzer recht gute Hardware in Nettop-Form, die sehr viel leistungsfähiger ist als die des Chromebook mit ChromeOS.

  1. Googles Aura Chromium OS mit klassischem Desktop

IMHO: Gema und Youtube - der Kampf ums Urheberrecht
IMHO
Gema und Youtube - der Kampf ums Urheberrecht

Nach der Urteilsverkündung im Rechtsstreit zwischen Youtube und Gema fühlten sich beide Seiten als Gewinner. In Wahrheit gibt es aber nur einen Verlierer, bloggt Medienrechtsexperte Thomas Hoeren: die Gema.

  1. Kulturelles Gedächtnis Wie speichern wir das Internet?
  2. Urheberechtsdebatte Piratenpartei legt Zehnpunktekatalog vor
  3. Urheberrecht SPD plädiert für "Vergüten statt verbieten"

  1. Browser: Kauft Facebook Opera?
    Browser
    Kauft Facebook Opera?

    Ein britisches Blog will erfahren haben, dass Facebook den norwegischen Browserhersteller Opera Software kaufen will. Beide Unternehmen wollen sich dazu nicht äußern.

  2. Datenschutz: Neue EU-Regeln zu Cookies treten in Kraft
    Datenschutz
    Neue EU-Regeln zu Cookies treten in Kraft

    Am 26. Mai 2012 treten neue Datenschutzregeln der EU in Kraft. Websitebetreiber und Werbenetzwerke müssen Nutzer um Erlaubnis fragen, wenn sie Cookies setzen.

  3. Libreoffice: "Wir wollen Nutzer in die ODF-Welt ziehen"
    Libreoffice
    "Wir wollen Nutzer in die ODF-Welt ziehen"

    Libreoffice könne mehr als Openoffice und biete Entwicklern zudem Vorteile, sagte Michael Meeks auf dem Linuxtag 2012. Außerdem spricht er mit Golem.de über Libreoffice-Online, woran er derzeit arbeitet.


  1. 14:48

  2. 14:29

  3. 14:24

  4. 12:30

  5. 12:23

  6. 18:49

  7. 18:33

  8. 18:08