i-B4se Posted March 14, 2022 Share Posted March 14, 2022 Moinsen Ich bin nicht so der Scripte Schreiber und wenn es ums löschen von Dateien geht bin ich echt vorsichtig geworden, da ich mit sowas schon mal meinen Server gewiped habe 😱 Ich möchte von meinen Überwachungskameras die Daten löschen, die X Tage alt sind. Anschließend sollen die leeren Ordner gelöscht werden. Ist dieses Script so korrekt? #!/bin/bash ##################################### ## Script zum Löschen alter Überwachungsvideos/Bilder. ## Alle Dateien die älter < 14 Tage sind werden gelöscht. find /mnt/surveillance/Surveillance/ -mtime +14 -type f -exec rm -rf {} \; # Wartezeit um anschließend die leeren Ordner zu löschen sleep 180 find /mnt/surveillance/Surveillance/Eingang_links/ -empty -type d -delete find /mnt/surveillance/Surveillance/Eingang_rechts/ -empty -type d -delete find /mnt/surveillance/Surveillance/Hinten_links/ -empty -type d -delete find /mnt/surveillance/Surveillance/Hinten_rechts/ -empty -type d -delete find /mnt/surveillance/Surveillance/Garage/ -empty -type d -delete /usr/local/emhttp/webGui/scripts/notify -i normal -s "Dateien wurden gelöscht" -d "Script wird beendet" exit o Besten Dank vorab! Quote Link to comment
ich777 Posted March 15, 2022 Share Posted March 15, 2022 On 3/14/2022 at 5:17 PM, i-B4se said: Besten Dank vorab! Sieht auf den ersten Blick nicht verkehrt aus. Warum löscht du danach die Ordner und vor allem die lange Wartezeit danach bzw. warum überhaupt sleep? Die Befehle werden nacheinander ausgeführt und nicht parallel. exit 0 nicht exit o... brauchst du aber nicht zwingend. EDIT: Hier auch nochmal der Hilfetext von notify in Unraid nur falls du noch was hinzufügen oder anders machen willst: 1 Quote Link to comment
mgutt Posted March 16, 2022 Share Posted March 16, 2022 Warum nicht einfach alle leeren Ordner löschen? find /mnt/surveillance/Surveillance/ -empty -type d -delete find arbeitet grundsätzlich rekursiv, wird also auch alle Unterordner löschen, die leer sind. Du kannst das Kommando vorher übrigens einfach testen, in dem du dir nur die Dateinamen mit deren Datum ausgeben lässt: find /mnt/surveillance/Surveillance/ -mtime +14 -type f -exec ls -lh {} \; 1 Quote Link to comment
i-B4se Posted March 16, 2022 Author Share Posted March 16, 2022 Danke euch. 18 hours ago, ich777 said: Warum löscht du danach die Ordner und vor allem die lange Wartezeit danach bzw. warum überhaupt sleep? Die Befehle werden nacheinander ausgeführt und nicht parallel. Weil ich sonst irgendwann 1000000 Ordner habe, aber ohne Inhalt. Die Cams bauen das quasi nach "Jahr -> Monat -> Tag" auf. Sleep nehme ich dann mal raus. Hab es gerne wenn alles schön nacheinander abgearbeitet wird, auch ruhig mit etwas Pause. 18 hours ago, ich777 said: nicht exit o Ups 8 hours ago, mgutt said: Warum nicht einfach alle leeren Ordner löschen? Da sind noch andere Ordner und die sind nicht unbedingt direkt immer gefüllt. Aber den Befehl werde ich mal testen. 9 hours ago, mgutt said: Du kannst das Kommando vorher übrigens einfach testen, in dem du dir nur die Dateinamen mit deren Datum ausgeben lässt: Ja.... aber wie schon gesagt, ich bin da echt vorsichtig geworden Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.