Files auf der FB finden ...

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
Benutzeravatar
Bernd-Joras
Beiträge: 730
Registriert: 26.03.2016, 09:33
Hat sich bedankt: 34 Mal
Danksagung erhalten: 40 Mal

Files auf der FB finden ...

Beitrag von Bernd-Joras » 29.07.2020, 11:43

Hallo allerseits …
Bin absoluter linux DAU und brauche bitte mehrere Anstöße in die richtige Richtung!

Ich habe mehrere Kameras die entsprechende Video-Files auf meiner FritzBox in ein Verzeichnis ablegen.
Ich möchte gerne überprüfen ob Dateien von jeweiligem heutigem Tag, im entsprechenden Verzeichnis auf meiner FritzBox vorhanden sind.
Wenn keine Datei vom heutigem Tag vorhanden ist, möchte ich eine Mail versenden.

Im Moment suche und finde ich schon Dateien die älter sind als … lösche diese dann, damit mir der FritzBox Speicher nicht zuläuft.

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:9.CMD_EXEC").State("find /mnt/CAM-RECORDS/*/* -mtime +50 -exec rm -rf {} \;");
So ähnlich hatte ich die Hoffnung, kann man das dann auch mit der Überprüfung von Dateien machen ….
Finde Datei von heute … wenn ja dann nichts weiter …. Wenn nein dann sende Mail …

Könnt ihr mir bitte beim Script (Befehl) helfen und oder auch weitere Ideen bezüglich der Realisierung zukommen lassen.

Danke vorab, Bernd
2 Standorte mit je RPi3B+ RaspberryMatic 3.73.9.20240130 / RPI-RF-MOD | Externe USB-Platinen Antenne | 2x LAN_RF_GW | 1x LAN_RS485_GW | ca. 170 Geräte davon 35x IP | ca. 250 Programme |>600 Kanäle | Addons: CUX-Daemon, XML-API, hm_pdetect, E-Mail, CCU-Historian

Nucom AG
Beiträge: 33
Registriert: 15.04.2019, 14:52
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Re: Files auf der FB finden ...

Beitrag von Nucom AG » 29.07.2020, 13:17

Hallo Bernd

Du könntest find mit -daystart (-mtime -ctime Filter gehen Basierend vom Tagesstart aus) arbeiten
Und wenn du eine Zahl als Output willst, dann in wc -l pipen

Also z.b.

"find /mnt/CAM-RECORDS/*/* -daystart -mtime -1 | wc -l"

-mtime -1 ==> 24 Stunden vorwärts, kombiniert mit -daystart ==> Heute von 00:00 24 Stunden vorwärts
MfG

Fabian

Benutzeravatar
Bernd-Joras
Beiträge: 730
Registriert: 26.03.2016, 09:33
Hat sich bedankt: 34 Mal
Danksagung erhalten: 40 Mal

Re: Files auf der FB finden ...

Beitrag von Bernd-Joras » 29.07.2020, 17:40

Fabian ... ersteinmal Danke .... wenn mir auch das fachliche Verständniss noch fehlt, dass nun umzusetzen.
Trotzdem weitergefragt damit ich es ggf. irgendwann mal ein wenig kann ...

Die Verzeichnistruktur für die Kamaras ist ... ich habe 5 davon ...
/mnt/CAM-RECORDS/IN-5907HD-Flex/20200727/record
/mnt/CAM-RECORDS/IN-9020-GARTEN/20200727/record
Für jeden Tag wird hier von den Kamaras ein neues Verzeichniss (20200729) angelegt.
In dem letzten Verzeichnis "record" liegen dann die Video Dateien die ich prüfen will.

Kann ich dann so rangehen ?
"find /mnt/CAM-RECORDS/IN-9020-GARTEN/*/*/ -daystart -mtime -1 | wc -l"

Und was, bzw. wie mache ich dann die Folgeschritte .... if not then => Mail usw.

Freue mich über weitere Hilfestellung ... Bernd
2 Standorte mit je RPi3B+ RaspberryMatic 3.73.9.20240130 / RPI-RF-MOD | Externe USB-Platinen Antenne | 2x LAN_RF_GW | 1x LAN_RS485_GW | ca. 170 Geräte davon 35x IP | ca. 250 Programme |>600 Kanäle | Addons: CUX-Daemon, XML-API, hm_pdetect, E-Mail, CCU-Historian

srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

Re: Files auf der FB finden ...

Beitrag von srunschke » 30.07.2020, 12:44

Bernd-Joras hat geschrieben:
29.07.2020, 17:40
Kann ich dann so rangehen ?
"find /mnt/CAM-RECORDS/IN-9020-GARTEN/*/*/ -daystart -mtime -1 | wc -l"
Ja, kannst du. Allerdings würdest du dann natürlich auch auf Dateien reagieren, die nicht in dem erwarteten Verzeichnis liegen und dann stellt sich die Frage, ob das dann nicht ein anderer Grund oder ein Fehler ist.
Daher würde ich dann anregen, dass man nur in dem Verzeichnis schaut, in dem man die Datei auch erwartet:

"find /mnt/CAM-RECORDS/IN-9020-GARTEN/`date +%Y%m%d`/record/ -daystart -mtime -1 | wc -l"

Durch die Backticks `` wird der darin liegende Shellbefehl ausgeführt und das Ergebnis damit ersetzt, so dass dann danach 20200730 steht (also heute ;))
Und was, bzw. wie mache ich dann die Folgeschritte .... if not then => Mail usw.
Dafür kannst du nicht mit CMD_EXEC arbeiten, weil das macht nur fire&forget. Hier musst du mit CMD_SETS und CMD_RETS arbeiten.
Sollte so funktionieren:

Code: Alles auswählen

string cmd = "find /mnt/CAM-RECORDS/IN-9020-GARTEN/`date +%Y%m%d`/record/ -daystart -mtime -1 | wc -l";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(cmd);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
integer AnzahlDateien = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
Wobei ich mir hier gerade nicht ganz sicher bin, ob man das Ergebnis von CMD_RETS noch mit .ToInteger() verarzten muss - ich mache nicht mehr so viel mit Homematic Script...
Anschließend kannst du dann basierend auf der Anzahl der gefundenen Dateien machen was du halt in Abhängigkeit davon machen möchtest.

S

Benutzeravatar
Bernd-Joras
Beiträge: 730
Registriert: 26.03.2016, 09:33
Hat sich bedankt: 34 Mal
Danksagung erhalten: 40 Mal

Re: Files auf der FB finden ...

Beitrag von Bernd-Joras » 30.07.2020, 19:10

Hallo ... will nur kurz Bescheid geben ... weil das nur Fair ist ... teste das alles aus ... mir fehlt jetzt gerade die Zeit (meine Frau wird 25+25) ...

D A N K E vorerst ... melde mich ganz bestimmt zurück ... Bernd
2 Standorte mit je RPi3B+ RaspberryMatic 3.73.9.20240130 / RPI-RF-MOD | Externe USB-Platinen Antenne | 2x LAN_RF_GW | 1x LAN_RS485_GW | ca. 170 Geräte davon 35x IP | ca. 250 Programme |>600 Kanäle | Addons: CUX-Daemon, XML-API, hm_pdetect, E-Mail, CCU-Historian

Benutzeravatar
Bernd-Joras
Beiträge: 730
Registriert: 26.03.2016, 09:33
Hat sich bedankt: 34 Mal
Danksagung erhalten: 40 Mal

Re: Files auf der FB finden ...

Beitrag von Bernd-Joras » 03.08.2020, 10:11

Hallo …bin zurück …aber …

Ich bin nicht annähernd so weit, dass ich das hier sinnvoll umsetzen kann ohne weitere 100-mal nachzufragen.
Ich wäre hier wirklich darauf angewiesen ein vollständig fertiges und funktionstüchtiges Script von Euch zu erhalten.
Das war etwas unüberlegt von mir und ist auch nicht wirklich gut … für beide Seiten … => Sorry

Somit glaube ich, es ist es besser hier abzubrechen und Eure Geduld bzw. Hilfsbereitschaft bezüglich dieser Anfrage nicht weiter überzustrapazieren.

Danke ! … Bernd
2 Standorte mit je RPi3B+ RaspberryMatic 3.73.9.20240130 / RPI-RF-MOD | Externe USB-Platinen Antenne | 2x LAN_RF_GW | 1x LAN_RS485_GW | ca. 170 Geräte davon 35x IP | ca. 250 Programme |>600 Kanäle | Addons: CUX-Daemon, XML-API, hm_pdetect, E-Mail, CCU-Historian

Antworten

Zurück zu „RaspberryMatic“