Papierkorb zeitgesteuert löschen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

SHCSHC

Benutzer
Registriert
12. Feb. 2009
Beiträge
196
Reaktionspunkte
10
Punkte
24
Hallo,

ich habe über das DSM-Menü den Papierkorb für alle Shares eingeschaltet. Leider lässt sich dieser nicht für einzelne Shares abschalten (ich habe sicherheitshalber noch einmal beim Support nachgefragt, die das bestätigt haben).

Mein Problem ist, dass ich auf einer Share sehr viele kleine Dateien habe, die auch regelmäßig gelöscht werden. Dadurch wird der Papierkorb sehr groß. Ein manuelles Löschen über DSM oder die Filestation ist für mich keine gute Option, da ich das zu oft vergesse.
Daher hatte ich ein kleines (Windows-)Batch-File geschrieben, das zeitgesteuert einmal pro Woche die Mülleimer ("#recycle") löscht. Aufgrund der vielen kleinen Daten, dauert dies aber mehrere Stunden bei der genannten Share.

Da das manuelle Löschen über die Filestation seh viel schneller geht, würde ich nun gerne ein kleines Script direkt auf der DS starten, um die Mülleimer regelmäßig zu entfernen

Leider sind meine Linux-Kenntnis eher rudimentär, daher würde ich mich freuen, wenn mir jemand von Euch helfen könnte.

Wie müsste das kleine Script aussehen, das die Ordner #recycle löscht?
Wo muss ich dieses ablegen?
Wie rufe ich es über Cron regelmäßig?


Herzlichen Dank für Eure Hilfe,
SHC
 
Das dürfte "relativ" einfach gehen, wenn recylce effektiv als Verzeichnis existiert. Da ich den Papierkorb ned nutze weiss ich nicht genau wie das umgesetzt ist
Unter der Voraussetzung, dass er als Verzeichnis existiert könnte ein kleines Script so ausschauen:
Code:
#!/bin/sh

rm -R /pfad/zum/papierkorb > /dev/null 2>&1
exit
Regelmässige Aufrufe kannst du mittels cron machen. Das File heisst afaik /etc/crontab
Ein cronjob der wöchentlich läuft könnte so ausschauen
Code:
#minute hour    mday    month   wday    who     command
30<TAB>0<TAB>*<TAB>*<TAB>1<TAB>root<TAB>/bin/sh /pfad/zu/deinem/script
Dabei unedingt beachten, dass du TABS zum Trennen verwendest. Einzig beim Kommando sind bei Synology Leerzeichen erlaubt
 
Hallo jahlives,

vielen Dank für Deine Hilfe! Das hat mir sehr weiter geholfen.

Der sog. Mülleimer ist tatsächlich als Ordner implementiert, so dass man diesen löschen kann. Dein Script inkl. Cronjob funktioniert einwandfrei !

Ich habe als Dateiendung ".sh" gewählt. Ist das richtig? (Funktioniert zumindest)
In welches Verzeichnis sollte ich das Script speichern? (Liegt im Moment auf einer Share).


Vielen Dank!!
SHC
 
Hallo,
ich würde es nach /usr/local/bin (falls nicht vorhanden, anlegen) legen, das überlebt auch ein Firmwareupgrade. Falls Du ipkg installiert hast, würde auch /opt/bin passen (überlebt auch ein Firmwareupgrade).

Gruß Götz
 
Ich lege solche Scripte immer in mein Homeverzeichnis. Sollten einen Reset und/oder Update ebenfalls problemlos überleben.
 
Vielen Dank für die Verzeichnisse. Das werde ich dann ändern.

Ich hatte mich allerdings zu früh gefreut - der Cronjob wurde bislang nur einmal korrekt ausgeführt. Seitdem nicht mehr. Wieviel Vorlauf braucht das System, damit es eine Änderung registriert?

Ich hatte vorhin um 13.45h einen Test-Auftrag für 14.30h eingestellt, der nicht aufgerufen wurde (zumindest wurde das Verzeichnis nicht gelöscht). Wenn ich das Script manuell ausführe, funktioniert es nach wie vor.

Werden die Cronjobs in einer Log-Datei aufgeführt?


SHC
 
Wie genau sieht dein cron Aufruf aus? Ist die Datei selber als ausführbar markiert? (chmod +x) kann helfen
 
Den Cron-Dienst nach Anpassung der Konfig neugestartet?
 
Hallo zusammen,

also - chmod habe ich angewendet - die Datei ist nun grün und hat andere Berechtigungen. Richtig so (s. Anhang 1)?

Die Auflistung der Crontab findet Ihr in Anhang2.

Wie kann ich den Cron-Dienst neu starten?


Entschuldigt bitte meine Unwissenheit ;-)


Danke,
SHC
 

Anhänge

  • Anhang1.JPG
    Anhang1.JPG
    30,3 KB · Aufrufe: 74
  • Anhang2.JPG
    Anhang2.JPG
    23,1 KB · Aufrufe: 74
afaik musst du den cron nicht extra neustarten. Der sollte eigentlich die Konfigfiles immer wieder mal pullen und die Änderung so mitkriegen.
sonst könntest du auch mal das folgende probieren
Code:
kill -HUP $(pidof cron)
 
Dann probier mal crond anstelle von cron
 
Den Befehl hat er angenommen. Startet der Dienst nun von selber neu?
 
Wenn der Befehl ohne Fehlermeldung ausgeführt wurde, dann sollte der cron seine neue Config eingelesen haben
 
Jaaaaa ! :) :) :)

Jetzt hat es funktioniert!!


1000 Dank an Euch!


SHC
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat