Papierkorb zeitgesteuert löschen

Status
Für weitere Antworten geschlossen.

SHCSHC

Benutzer
Mitglied seit
12. Feb 2009
Beiträge
194
Punkte für Reaktionen
7
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
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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
 

SHCSHC

Benutzer
Mitglied seit
12. Feb 2009
Beiträge
194
Punkte für Reaktionen
7
Punkte
24
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
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.186
Punkte für Reaktionen
427
Punkte
393
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
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ich lege solche Scripte immer in mein Homeverzeichnis. Sollten einen Reset und/oder Update ebenfalls problemlos überleben.
 

SHCSHC

Benutzer
Mitglied seit
12. Feb 2009
Beiträge
194
Punkte für Reaktionen
7
Punkte
24
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
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wie genau sieht dein cron Aufruf aus? Ist die Datei selber als ausführbar markiert? (chmod +x) kann helfen
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Den Cron-Dienst nach Anpassung der Konfig neugestartet?
 

SHCSHC

Benutzer
Mitglied seit
12. Feb 2009
Beiträge
194
Punkte für Reaktionen
7
Punkte
24
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

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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)
 

SHCSHC

Benutzer
Mitglied seit
12. Feb 2009
Beiträge
194
Punkte für Reaktionen
7
Punkte
24

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Dann probier mal crond anstelle von cron
 

SHCSHC

Benutzer
Mitglied seit
12. Feb 2009
Beiträge
194
Punkte für Reaktionen
7
Punkte
24
Den Befehl hat er angenommen. Startet der Dienst nun von selber neu?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wenn der Befehl ohne Fehlermeldung ausgeführt wurde, dann sollte der cron seine neue Config eingelesen haben
 

SHCSHC

Benutzer
Mitglied seit
12. Feb 2009
Beiträge
194
Punkte für Reaktionen
7
Punkte
24
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