für eine Überwachung habe ich einen älteren Pi mit einer USB-Cam und Motion im Einsatz.
Motion erzeugt viele JPG-Bilder. Diese haben das Format YYYYMMDDxxxxxx-xx. jpg (20240410213346-01.jpg), kann aber auch angepasst werden.
Der Ordner ist: /var/lib/motion/
Ziel: Backup der vielen einzelnen Datein in ein ZIP und sichern des ZIPS auf ein anderes Laufwerk (Cloud).
Der PI hat Netzanbindung mit Kabel zum Router.
Meine Idee:
Ich erstelle mir ein Script, das manuell oder zeitgesteuert aufgerufen wird.
Das Script soll alle Bilder die älter sind als Heute in ein ZIP verschieben.
Bilder mit Tagesdatum bleiben unberüht bis sie dann morgen drann sind.
Das ZIP soll via einer passende Transportmethode auf ein OneDrive oder Googledrive gebracht werden.
Nach erfolgreichem Transport soll das ZIP gelöscht werden.
Vorgehen:
Startzeit des Scripts festhalten (YYYYMMDD-hhmmss)
Damit das ZIP generieren
(Infos dazu habe ich von: https://hellocoding.de/blog/coding-lang ... -erstellen
Mit "Datum-1tag" die Datein behandeln und in das ZIP verschieben.
ZIP transportieren, wenn Transport erfolgreich, dann löschen.
Bei Transportfehler die Datei ncht löschen.
-
Meine Fragen dazu:
Wie generieren ich aus dem Datum einen Filename für das ZiP?
Wie identifizieren und behandle ich die Files im Ordner, die in das ZIP sollen?
Also erkkenen, welche von heute sind und nicht in das ZIP sollen?
Als Anregung dazu habe ich folgendes gefunden:
Code: Alles auswählen
filenames = [<array der files aus dem ordner>] # wie auch immer das gelesen wird.....
today = datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)
for file in filenames:
timestring = file[:8]
date_object = datetime.strptime(timestring, '%Y%m%d')
if date_object < today:
# ins zip schieben
Als Neuling habe ich aber keine Ahnung, wie ich das umsetze.
Hier würde ich gerne Hilfe zur Selbsthilfe, Beispiele, usw. erhalten, wie ich das machen kann.
Es gibt ja bekanntlich immer mehrere Wege nach Rom.
Freue mich auf Anregungen zu meinem kleinen Projekt.
Danke Euch