Dateien löschen via Aufgabenplaner

  • 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

HanJue

Benutzer
Registriert
22. Nov. 2024
Beiträge
5
Reaktionspunkte
2
Punkte
3
Moin,
ich habe 2 Reolink Kameras installiert, die via FTP Upload die Bilder und Videos auf die DS413se speichern. funktioniert super. Nun möchte ich die mp4 Videos, die älter als 1 Tag sind löschen. Dazu habe ich im Aufgabenplaner einen entsprechenden Eintrag eingefügt. Da ich nicht so fit bin mit dieser Linux Syntax hatte ich Hilfe aus einem andern Forum (Dank an die dort Wissenden).
Eintrag, erstmal zum testen:

cd /volume1/Data/webcam
find . -name "*.mp4" -type f -mtime +1 -exec ls -la {} \;

Im ./webcam Verzeichnis gibt es 2 Unterverzeichnisse (vorne und hinten) und da wiederum Unterverzeichnisse für Monat und Tag. Die werden von der Reolink Software so angelegt.

Lasse ich obige Aufgabe jetzt laufen, zeigt mir das Ergebnis im synoscheduler output.log Verzeichnis "0" mp4 Einträge an. In der File Station sind aber noch 90 mp4 Dateien sichtbar.

Habe ich hier was übersehen oder woran könnte das hängen?
 
Herzlich willkommen hier im Forum 🙋‍♂️

Der Befehl cd /volume1/Data/webcam wird im Kontext des Synology-Aufgabenplaners möglicherweise nicht wie erwartet ausgeführt.
Das find-Kommando startet dann nicht im richtigen Verzeichnis (nur eine Vermutung).

Verwende mal den absoluten Pfad direkt im find-Befehl:
find /volume1/Data/webcam -name "*.mp4" -type f -mtime +1 -exec ls -la {} \;

Hat der ausgewählte User im Aufgabenplaner die nötigen Rechte für das Verzeichnis?
 
Zuletzt bearbeitet:
Danke für die schnellen Tipps.
Ich bin mit einem User am NAS angemeldet, der entsprechende Rechte zum Löschen hat.

Ich habe mal den Befehl angepasst, so wie er auch sein sollte:

find /volume1/Data/webcam -name "*.mp4" -type f -mtime +1 -exec rm -f {} \;

Lösch Log zeigt keinen Eintrag! File Station aber weiterhin 50 mp4 Dateien. Heute ist der 22.11 und damit sollten alle mp4 Dateien von 20.11. (ältere habe ich nicht) in allen Unterverzeichnissen gelöscht werden. Werden sie aber nicht. Ich habe dazu keine Idee.
 
Zuletzt bearbeitet von einem Moderator:
Ich bin mit einem User am NAS angemeldet, der entsprechende Rechte zum Löschen hat.
Gemeinst ist der User, den man im Aufgabenplaner auswählt. Wählt man da z.B. root, gibt es absolut keine Einschränkungen mehr mit entsprechendem Gefahrenpotential bei Fehlern. Ein User mit Adminrechten sollte in der Regel alle Ordner bearbeiten können.

  • Ist der Ordnername absolut korrekt (wirklich volume1, falls du mehrere Volumes hast? Groß- und Kleinschreibung?)?
    Für den korrekten Pfad kannst du mal die Eigenschaften des entsprechenden Ordner in der FileStation aufrufen und dort den Pfad kopieren.
  • Falls die Dateiendung teilweise auch in Großschreibweise ist, kann du die Groß- und Kleinschreibung des Namens mit -iname ignorieren.

PS: Bleib doch für das Testen zunächst bei ls -la, bis die Funktionsweise der Suche passt.
 
Zuletzt bearbeitet:
Endung ist immer mp4
Beispiel mal direkt eingegeben:

find /volume1/Data/webcam/vorn/2024/11/20 -name "*.mp4" -type f -mtime +1 -exec ls -la {} \;

Ergibt:
-rwxrwx---+ 1 hjs users 7959849 Nov 20 17:30 /volume1/Data/webcam/vorn/2024/11/20/Carport_01_20241120172941.mp4
-rwxrwx---+ 1 hjs users 3243129 Nov 20 17:25 /volume1/Data/webcam/vorn/2024/11/20/Carport_00_20241120172509.mp4
-rwxrwx---+ 1 hjs users 9754415 Nov 20 17:25 /volume1/Data/webcam/vorn/2024/11/20/Carport_01_20241120172407.mp4
-rwxrwx---+ 1 hjs users 5832368 Nov 20 17:25 /volume1/Data/webcam/vorn/2024/11/20/Carport_00_20241120172407.mp4
-rwxrwx---+ 1 hjs users 5423594 Nov 20 17:30 /volume1/Data/webcam/vorn/2024/11/20/Carport_00_20241120172941.mp4
-rwxrwx---+ 1 hjs users 5418111 Nov 20 17:25 /volume1/Data/webcam/vorn/2024/11/20/Carport_01_20241120172510.mp4

Es müßten aber mindestens 40 Dateien sein. Kann das mit der Uhrzeit zusammenhängen?
Es ist jetzt 17:45 und angezeigt werden alle Dateien VOR 17:45. Alle anderen kommen danach.
 
Zuletzt bearbeitet von einem Moderator:
Ja, '1 Tag' bezieht sich hier nicht auf den Kalendertag, sondern auf 24h.
Demnach sieht es doch gut aus, oder?
 
Ja, '1 Tag' bezieht sich hier nicht auf den Kalendertag, sondern auf 24h.
Demnach sieht es doch gut aus, oder?
Scheint so.
Ich warte mal bis morgen. Dann sollten ja alle Dateien vom 20.11. angezeigt werden.
 
Anstelle von
Bash:
-exec ls -la {} \;
kann man auch
Bash:
-print
verwenden.

Und anstelle von
Bash:
-exec rm -f {} \;
einfach
Bash:
-delete


find /volume1/Data/webcam/vorn/2024/11/20 -name "*.mp4" -type f -mtime +1 -print
find /volume1/Data/webcam/vorn/2024/11/20 -name "*.mp4" -type f -mtime +1 -print -delete
 
  • Like
Reaktionen: DaveR
Scheint so.
Ich warte mal bis morgen. Dann sollten ja alle Dateien vom 20.11. angezeigt werden.
Moin,
---Vollzugsmeldung ;) Hat alles geklappt und die mp4 Dateien vom 20.11. sind gelöscht. Es war also alles ein Verständnisproblem meinerseits.

-mtime +1 meint eben nicht den ganzen Tag, sondern nur 24h. Je nach Uhrzeit der Runs´s bleiben also Dateien bestehen. Sei´s drum.

Jetzt noch alles ein wenig hübsch machen und einen Zeitplan einrichten.

Dank an alle Tippgeber für die schnellen Hinweise.

Schönes WE
HanJue
 
  • Like
Reaktionen: AndiHeitzer und dil88
-mtime +1 meint eben nicht den ganzen Tag, sondern nur 24h. Je nach Uhrzeit der Runs´s bleiben also Dateien bestehen. Sei´s drum.
Wenn es dir so wichtig ist, alle Dateien zu löschen, die nicht von heute sind:
Bash:
find /volume1/Data/webcam/ -name "*.mp4" -type f ! -newermt "$(date +%Y-%m-%d)" -print -delete
Zum Testen erstmal ohne -delete aufrufen.
 
Schönen Sonntag,

also den Befehl kann ich mir direkt so kopieren. Nur, müsste ich bei mir es Zeitlich was anpassen.

Ich habe ebenfalls 2 Reolinks im Schrebergarten, den Befehl würde ich auch im Ordner

/volume1/Kleingarten ausführen mit dem delete .mp4


Nur verstehe ich das richtig

-mtime +1 bedeutet 24h
-mtime +2 würde dann 48h ( 2 Tage ) ??

ich hätte diesen Befehl gerne das er Dateien nach 14 Tagen erst löscht
wäre es dann -mtime +14 ?
 
Ja.
Bash:
find /volume1/Kleingarten -type f -name "*.mp4" -mtime +14 -delete

Lass dir vorher in einem Trockenlauf die gefilterten Dateien auflisten:
Bash:
find /volume1/Kleingarten -type f -name "*.mp4" -mtime +14 -ls
 
  • Like
Reaktionen: dil88 und myfan

Additional post fields

 

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