Dateien nach Zeitplan automatisch löschen

d_a_n_e

Benutzer
Mitglied seit
24. Jan 2012
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Moin,

sinnvoller wäre auf jedenfall "mtime" für mich. Hatte ich zuvor getestet. Jedoch bekam ich dann per Mail immer die Meldung das der Ordner nicht gelöscht werden kann, da er nicht leer sei.
Also versuchte ich das ganze mit "atime" mit dem beschriebenen Ergebniss.
Das letzte Bild zeigt meinen Ordner, nachdem ich alle drei versionen oben durch probiert habe-->voll
Sollte nachMöglichkeit eigentlich leer sein:confused:
 

Airman81

Benutzer
Mitglied seit
23. Mrz 2017
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich habe ebenfalls eine Aufgabe erstellt um die Dateien zu löschen die Älter sind wie "X" Tage in meinem Beispiel 22 Tage.
Leider löscht er bei mir nur die Dateien, die leeren Ordner bleiben bestehen.

Gibt es dafür eine zusätzliche Funktion oder muss ich meiner Aufgabenzeile erweitern ?

find /volume1/Netatmo -mtime +22 -delete


Im Voraus Besten Dank
 

Airman81

Benutzer
Mitglied seit
23. Mrz 2017
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Hallo nochmals,
nachdem diese Automation nun einmal automatisch gestartet wurde kam die folgende E-Mail bei mir an:

Sehr geehrter Benutzer,

Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.

Aufgabe: Netatmo Pfad loeschen
Startzeit: Mon, 01 Jun 2020 00:00:02 GMT
Stoppzeit: Mon, 01 Jun 2020 00:00:02 GMT
Aktueller Status: 1 (Unterbrochen)
Standardausgabe/Fehler:
find: cannot get current directory: Permission denied


Mit freundlichen Grüßen
Synology DiskStation

Kann mir jemand helfen ? Wo liegt mein Fehler


Im Voraus Besten Dank
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.751
Punkte für Reaktionen
3.729
Punkte
468
Schau mal hier.
 

Airman81

Benutzer
Mitglied seit
23. Mrz 2017
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
@Benares : Ich habe die Aufgabe von "admin" auf "root" umgestellt.
Jetzt warten wir mal ab ob es bei der nächsten Ausführung klappt.

Hallo zusammen,
ich habe ebenfalls eine Aufgabe erstellt um die Dateien zu löschen die Älter sind wie "X" Tage in meinem Beispiel 22 Tage.
Leider löscht er bei mir nur die Dateien, die leeren Ordner bleiben bestehen.

Gibt es dafür eine zusätzliche Funktion oder muss ich meiner Aufgabenzeile erweitern ?

find /volume1/Netatmo -mtime +22 -delete
Im Voraus Besten Dank

Allerdings ist das Problem mit den nicht gelöschten Ordnern noch immer nicht gelöst.
Habt ihr dazu auch noch nen Tipp ?
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.751
Punkte für Reaktionen
3.729
Punkte
468
Tante Google findet zum Thema "leere Ordner finden und löschen" z.B.
Code:
find /volume1/Netatmo -type d -empty -exec rmdir {} \;
Kannst ja beide Befehle in ein Script aufnehmen und hintereinander ausführen.
 

Airman81

Benutzer
Mitglied seit
23. Mrz 2017
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Kannst du mir bitte kurz erklären was jede Stelle bedeutet ?
Oder einen link hier posten wo eine Erklärung aufgeführt ist.
Ich bin da leider kein Fachmann für und will keine Fehler machen.
 
Zuletzt bearbeitet von einem Moderator:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.751
Punkte für Reaktionen
3.729
Punkte
468
"find" kannst du ja schon. 1. Parameter ist das Verzeichnis, von wo er starten soll. "-type d" sagt "suche nach Directories", "-empty", die leer sind.
"-exec" leitet einen Befehl ein, der für jeden Treffer ausgeführt werden soll, in diesem Fall "rmdir" (Remove Directory). "{}" steht für den kompletten Pfad des Treffers. "\;" schließt exec ab, (Leerzeichen davor beachten) .
Probier erstmal
Code:
find /volume1/Netatmo -type d -empty
zur Anzeige der gefundenen Verzeichnisse, bevor du den exec-Teil dranhängst.
 

Airman81

Benutzer
Mitglied seit
23. Mrz 2017
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Wenn ich dich richtig verstehe, soll ich zwei Zeilen in meine Aufgabe einfügen !?

1.Zeile: find /volume1/Netatmo -mtime +22 -delete (bereits vorhanden)

2.Zeile: find /volume1/Netatmo -type d -empty (noch hinzufügen)
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.751
Punkte für Reaktionen
3.729
Punkte
468
Besser, du schreibst die beiden Befehle in ein Script, nennst es z.B. Cleanup_Netatmo.sh und legst es irgendwo (z.B. auch unter /volume1/Netatmo) ab.
Code:
#!/bin/sh
find /volume1/Netatmo -mtime +22 -delete
find /volume1/Netatmo -type d -empty -exec rmdir {} \;
Dann machst es mit "chmod +x /volume1/Netatmo/Cleanup_Netatmo.sh" ausführbar und nimmst /volume1/Netatmo/Cleanup_Netatmo.sh in den Aufgabenplaner auf.
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.329
Punkte für Reaktionen
617
Punkte
174

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.751
Punkte für Reaktionen
3.729
Punkte
468
Stimmt :rolleyes: Also besser anderen Speicherort wählen.
 

Airman81

Benutzer
Mitglied seit
23. Mrz 2017
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Code:
#!/bin/sh
find /volume1/Netatmo -mtime +22 -delete
find /volume1/Netatmo -type d -empty -exec rmdir {} \;

1.) Werde es vermutlich die nächsten tage testen. Kannst du mir bitte die zweite Zeile kurz erklären was die einzelnen Befehle bedeuten ?

2.) Wenn ich eure Beschreibung richtig verstehe, erstelle ich mit Hilfe von einem Texteditor eine Datei in der diese beiden Zeilen enthalten sind.
Dann speichere ich die Datei z.B. unter eurem genannten Namen auf ein anderes Laufwerk auf meiner NAS ab wie z.B. /volume1/Downloads .
Daraufhin editiere ich meine Aufgabe mit welcher Angabe für das Benutzerdefinierte Skript ?
War die Vorgehensweise so korrekt ?

Im Voraus Besten Dank.
 
Zuletzt bearbeitet:

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.329
Punkte für Reaktionen
617
Punkte
174
In der zweiten FIND-Zeile werden leere Verzeichnisse entfernt.

Es wird im Verzeichnis /volume1/Netatmo gesucht
find /volume1/Netatmo

Es wird nach Verzeichnissen gesucht
-type d

Diese müssen leer sein
-empty

Wenn all das Obige zutrifft, dann führe den Befehl rmdir (remove directory) aus, wobei die geschweifte Klammer für den Suchtreffer steht.
-exec rmdir {}

Als Befehlsabschluss dann noch
\;


Ferdich :cool:
 

Airman81

Benutzer
Mitglied seit
23. Mrz 2017
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Danke für Eure Hilfe.
Aber leider hat es nicht funktioniert.

Hier die E-Mail wenn ich das Script manuell ausführe:

Sehr geehrter Benutzer,
Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.

Aufgabe: Cleanup Netatmo
Startzeit: Mon, 22 Jun 2020 22:30:22 GMT
Stoppzeit: Mon, 22 Jun 2020 22:30:23 GMT
Aktueller Status: 1 (Unterbrochen)
Standardausgabe/Fehler:
find: `/volume1/Netatmo/@eaDir/@tmp': No such file or directory

Wo liegt mein Fehler ?
--------------------------------------------------------------------------------
Habe jetzt meine erste Aufgabe so editiert wie ihr es mir vorgegeben habt.

find /volume1/Netatmo -mtime +22 -delete
find /volume1/Netatmo -type d -empty -exec rmdir {} \;

Danach auf speichern, dann auf ausführen und dann hat es funktioniert glaub ich.
Warte jetzt mal paar tage ab. Am 01. des nächsten Monats sollte es dann automatisch gehen.

Hab den Fehler mit dem "Datei" Script nicht gefunden.
Versuche jetzt mal ohne die Datei sondern wie beschrieben direkt per Aufgabe.
 
Zuletzt bearbeitet:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.751
Punkte für Reaktionen
3.729
Punkte
468
Wo liegt mein Fehler ?
Ich glaube nicht, dass du etwas falsch machst. Ich glaube eher, dass dir da der DSM bzw. sein Indizierungsdienst einen Streich spielt.
Ich habe eben auch mein /volume1 durchsucht und jede Menge alter @eaDir, @eaDir/@tmp Verzeichnisse sowie *@SynoEAStream Dateien gefunden, auch an Stellen, wo diese überhaupt nicht hingehören (also auch außerhalb von /video, /photo, /music).
Dies habe ich nun mit ein paar händischen "finds" weitestgehend bereinigt.

Schau dir mal deinen /volume1/Netatmo Baum auf Linux-Ebene an, ob da auch solcher Schrott liegt. Die (über den Explorerer unsichtbaren) @eaDir-Verzeichnisse enthalten normalerweise die Vorschaubilder für die Photo-Station und sollten eigentlich nur in den Medien-Verzeichnissen auftauchen, die auch indiziert werden.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
@eaDir ist nicht exklusiv für Vorschaubilder etc. Synology benutzt diese um alle möglichen Daten abzulegen (zur Verschlüsselung, zu Quota, und was weiß ich noch alles) je nachdem über welchen ea Ordner man redet.
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.751
Punkte für Reaktionen
3.729
Punkte
468
Ja, scheint so. Nur räumt da Synology scheinbar nicht richtig auf. Ich habe bei mir jede Menge leerer @eaDir bzw. @eaDir/@tmp Verzeichnisse und über 60000 kleinere *@SynoEAStream-Dateien gefunden und gelöscht, die wirklich keinen Sinn machen.
Ich behalte das mal im Auge, vielleicht waren es auch nur Leichen von älteren DSM-Versionen.
 

Airman81

Benutzer
Mitglied seit
23. Mrz 2017
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Hallo nochmals,

gibt es hierzu irgendwelche Neuigkeiten ?
Wäre klasse wenn ja. ?
Ich habe es noch immer nicht hinbekommen dass die Dateien automatisch gelöscht werden. ?

Ich frage mich ob es eine Alternative ist die Netatmo Aussenkamera per Surveillance Station einzubinden !?

Im Voraus Besten Dank
Airman81
 


 

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