Ich habe eine Webcam im Einsatz, die alle Bilder auf meinem BananaPi speichert. Dazu läuft auf dem BPi ein FTP-Server. Dort werden nun alle Bilder gespeichert. Da die Kamera einen Bereich überwacht in dem ich mich auch regelmäßig bewege, entstehen nun sehr viele Bilder. Da ich diese nun nicht alle behalten möchte, sollen diese regelmäßig von alleine gelöscht werden. Dazu legt man ja unter Linux einen Cronjob an und ruft regelmäßig ein Script auf. Dieses Script soll nun prüfen, ob die Bilder älter als X Tage sind und diese dann ggf. löschen.
Hier mein Script, was das für mich erledigt.
#!/bin/bash find /var/ftp/CAM/snap/ -name "*.jpg" -mtime 3 -exec rm {} \;
Der Linux Befehl find macht das für mich. Er sucht im angegebenen Verzeichnis nach allen Dateien mit der Endung .jpg und löscht diese automatisch wenn die Bedingung -mtime 3 erfüllt ist.
Als Ergebnis habe ich jetzt im FTP-Verzeichnis nur noch Dateien der letzten drei Tage und des aktuellen Tages. Das ist für meine Zwecke ausreichend.
Bitte den find Befehl erst ohne die Löschfunktion testen!
-exec rm {} \;
Eine fehlerhafte Eingabe löscht gnadenlos, ohne Rückfrage!