Scheinbar gibt es Berührungsängste mir ggf. zu helfen … OK… *Spass* ….
Habe mir selbst geholfen …. ist vermutlich (SEHR) stümperhaft …. Jedoch kann ich es (noch) nicht besser.
Habe mir alles irgendwo kopiert und zusammengebastelt.
Ich verstehe hier nicht wirklich alles, jedoch funktioniert es ..
Ich bin trotzdem für Vereinfachungen/ Verbesserungen und/oder Tipps dankbar.
Aufgabe:
Suchen nach Dateien im entsprechenden Kamera Video Ordner die jünger 3h sind
Wenn Videos (jünger 3h) gefunden werden (somit alles OK) wird eine Datei in /tmp/Video-Test angelegt in welcher die Video-Files gelistet sind.
Diese Datei "Videos.txt" ist dann sicherlich größer null kb.
Wenn keine Videos (jünger 3h) gefunden werden, wird auch die Datei "Videos.txt" in /tmp/Video-Test angelegt, jedoch steht da nichts drin, womit diese also null kb groß ist.
Alles kommende habe ich in ein Programm gesteckt welches alle drei Stunden getriggert wird und dann werden zeitlich versetzt nachfolgende Schritte abgearbeitet.
Sicherheitshalber ein unmount
Im Programm sofort:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:5.CMD_EXEC").State ("umount -f /mnt/");
Mount zum FritzBox zu den Video Files
Im Programm verzögert um 2 Sekunden:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:4.CMD_EXEC").State ("mount -t cifs -o username=ICH,password=PASSWORT,noserverino,vers=3.0 //192.168.5.1/js-fb1-nas/Samsung-PortableSSDT3-01/CAM-RECORDS /mnt");
Das Verzeichnis "Video-Test" im "tmp" Ordner anlegen
Im Programm verzögert um 4 Sekunden:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:9.CMD_EXEC").State("mkdir /tmp/Video-Test");
Suche auf der FB1 im Ordner der jeweiligen Kamera ob Videos (Files) vorhanden sind die nicht älter sind als 180 Min.
Lege eine Datei (Videos.txt) im /tmp/Video-Test Ordner an in dem die gefundenen Videos gelistet sind.
Wenn keine Videos gefunden werden ist die Datei Videos.txt null kb da nichts drinn steht.
Im Programm verzögert um 6 Sekunden:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:9.CMD_EXEC").State("find /mnt/IN-6014HD-TH -mmin -180 > /tmp/Video-Test/Videos.txt");
Wenn die Videos.txt gleich null kb ist wird diese gelöscht.
Das Durchsuchen des Ordners (Befehl davor) dauert ca. 50 Sekunden daher im Programm verzögert um 60 Sekunden:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:9.CMD_EXEC").State("find /tmp/Video-Test -type f -size 0 -delete");
Wenn die Datei "Videos.txt" größer oder gleich 1 kb ist, wird diese nicht gelöscht.
Jetzt wird geprüft, ob die Datei "Videos.txt" vorhanden ist und bei vorhanden in die Variable (SV-Videos) ein OK geschrieben.
Wenn die Datei "Videos.txt" nicht vorhanden ist, wird die Variable (SV-Videos) geleert)
(Habe es nicht geschafft es so aufzubauen, dass ein "NICHT-OK" in die Variable geschrieben wird wenn die Datei nicht vorhanden ist)
Im Programm verzögert um 62 Sekunden:
Code: Alles auswählen
string stderr;string stdout;
string svout = "SV-Videos";
string url="[ -f /tmp/Video-Test/Videos.txt ] && echo OK";
system.Exec (url, &stdout, &stderr);
if(!stdout == ""){WriteLine("Abfrage erfolgreich") if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(svout) ) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(svout).State(stdout);
} }
else{WriteLine("Abfrage nicht erfolgreich");
}
if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(svout) ) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(svout).State(stdout); }
Jetzt lösche ich die Datei noch wech …
Im Programm verzögert um 64 Sekunden:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:9.CMD_EXEC").State("rm -rf /tmp/Video-Test/*" );
Und sicherheitshalber ein UNMOUNT
Im Programm verzögert um 66 Sekunden:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:5.CMD_EXEC").State ("umount -f /mnt/");
Die Variable "SV-Videos" verarbeite ich nun in einem zusätzlichem Programm weiter und lasse mir ggf. Mails senden.
Ziemlich krank oder .... funktioniert aber ... BG, Bernd