at soll alle 14 Tage ein Verzeichniss leeren

Begonnen von Tommy82, 24 März 2019, 20:07:59

Vorheriges Thema - Nächstes Thema

Tommy82

Hi,
ich würde gerne über ein at alle 14 Tage mein gespeicherten WebCam Videos löschen lassen.
Hatte an sowas gedacht, aber das funktioniert nicht
Internals:
   CFGFN     
   COMMAND    rm www/tablet/BlinkCamera/Kameras/thumbnail/camera/
   DEF        +*336:00:00 rm www/tablet/BlinkCamera/Kameras/thumbnail/camera/
   FUUID      5c97d448-f33f-f412-5952-dfa36f08ce69e8f7
   NAME       CameraBilderLoeschen
   NR         568
   NTM        21:04:59
   PERIODIC   yes
   RELATIVE   yes
   REP        -1
   STATE      Next: 21:04:59
   TIMESPEC   336:00:00
   TRIGGERTIME 1554663899.7216
   TRIGGERTIME_FMT 2019-04-07 21:04:59
   TYPE       at
   Helper:
     DBLOG:
       state:
         myDbLog:
           TIME       1553454439.47691
           VALUE      Next
   READINGS:
     2019-03-24 20:07:19   state           Next: 21:04:59
Attributes:
   group      at
   room       Zentral
   verbose    5


Wie wäre es richtig?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Otto123

#1
Hi,

was funktioniert nicht?
Die Zeit - sieht gut aus.
Das Kommando? ist falsch: als Shell Kommando muss es in ""

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tommy82

Zitat von: Otto123 am 24 März 2019, 20:15:21
Hi,

was funktioniert nicht?
Die Zeit - sieht gut aus.
Das Kommando? ist falsch muss in ""

Gruß Otto
Es wird nichts gelöscht, mit den  Anführungszeichen teste ich, Danke


Gesendet von iPhone mit Tapatalk
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tommy82

Also mit
"rm www/tablet/BlinkCamera/Kameras/thumbnail/camera/*" wird korrekt gelöscht, allerdings verwirrt mich die Zeit dann doch noch etwas da bei "Next" jetzt 20:57:38 steht!?

Internals:
   CFGFN     
   COMMAND    "rm www/tablet/BlinkCamera/Kameras/thumbnail/camera/*"
   DEF        +*336:00:00 "rm www/tablet/BlinkCamera/Kameras/thumbnail/camera/*"
   FUUID      5c97d448-f33f-f412-5952-dfa36f08ce69e8f7
   NAME       CameraBilderLoeschen
   NR         568
   NTM        20:57:38
   PERIODIC   yes
   RELATIVE   yes
   REP        -1
   STATE      Next: 20:57:38
   TIMESPEC   336:00:00
   TRIGGERTIME 1554749858.55837
   TRIGGERTIME_FMT 2019-04-08 20:57:38
   TYPE       at
   Helper:
     DBLOG:
       state:
         myDbLog:
           TIME       1553540308.89094
           VALUE      Next
   READINGS:
     2019-03-25 19:58:28   state           Next: 20:57:38
Attributes:
   group      at
   room       Zentral
   verbose    5

Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Otto123

#5
TRIGGERTIME_FMT 2019-04-08 20:57:38
So siehst Du es in der Übersicht
attr a_test2 stateFormat {InternalVal($name,"TRIGGERTIME_FMT","")}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

#6
Solche shell Kommandos würde ich immer über einen cronjob auf Systemebene ausführen anstatt über FHEM.

Insbesondere, da dieses at mit seinen Zeiten nicht persistent ist. Das heißt, nach einem FHEM Neustart beginnt die Zählung der 336 Stunden mit dem Startzeitpunkt von FHEM und nicht mit dem Zeitpunkt des letzten Löschens.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Morgennebel

Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Wuppi68

#8
oder

find  /opt/fhem/www/tablet/BlinkCamera/Kameras/thumbnail/camera/ -type f -mtime +14 -name '*.MovieExtension' -delete

löscht dann alles was älter als 14 Tage ist und kann "jederzeit" laufen

korrigiert - Danke Otto :-)

falsch: find  /opt/fhem/www/tablet/BlinkCamera/Kameras/thumbnail/camera/" -type f -mtime +14 -name '*.MovieExtension' -delete
FHEM unter Proxmox als VM

Otto123

@Wuppi68 hast Du den probiert? mit irritiert der " in der Mitte?  ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Tommy82

#10
Zitat von: betateilchen am 26 März 2019, 10:28:41
Solche shell Kommandos würde ich immer über einen cronjob auf Systemebene ausführen anstatt über FHEM.

Insbesondere, da dieses at mit seinen Zeiten nicht persistent ist. Das heißt, nach einem FHEM Neustart beginnt die Zählung der 336 Stunden mit dem Startzeitpunkt von FHEM und nicht mit dem Zeitpunkt des letzten Löschens.

Das ist ein interessanter (und wichtige) Hinweis, kann man das nicht über das at steuern das die 336 Stunden seid dem letzten löschen gerechnet werden anstatt ab dem Neustart?
Ansonsten hast du recht, wäre es besser über einen Cronjob

Zitat von: Wuppi68 am 26 März 2019, 13:30:25
oder

find  /opt/fhem/www/tablet/BlinkCamera/Kameras/thumbnail/camera/ -type f -mtime +14 -name '*.MovieExtension' -delete

löscht dann alles was älter als 14 Tage ist und kann "jederzeit" laufen

korrigiert - Danke Otto :-)

falsch: find  /opt/fhem/www/tablet/BlinkCamera/Kameras/thumbnail/camera/" -type f -mtime +14 -name '*.MovieExtension' -delete
Das in das at? Kannst du mit das etwas genauer erklären?
Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Wuppi68

Zitat von: Tommy82 am 26 März 2019, 20:11:08
Das ist ein interessanter (und wichtige) Hinweis, kann man das nicht über das at steuern das die 336 Stunden seid dem letzten löschen gerechnet werden anstatt ab dem Neustart?
Ansonsten hast du recht, wäre es besser über einen Cronjob
Das in das at? Kannst du mit das etwas genauer erklären?
Danke

ich würde das auch in einen Cron Job packen ;-)

ansonsten in ein AT als Befehl packen ungefähr so:

define DeleteVideosAfter2Weeks at *01:00 "find  /opt/fhem/www/tablet/BlinkCamera/Kameras/thumbnail/camera/ -type f -mtime +14 -name '*.MovieExtension' -delete"

muss natürlich noch die extension entsprechend anpassen
FHEM unter Proxmox als VM

Tommy82

#12
Hab es jetzt mal so gemacht, mal sehen ob es funktioniert
+*01:00 "find /www/tablet/BlinkCamera/Kameras/thumbnail/camera/* -type f -mtime +14 -name '*.avi' -delete"

Also das hat nicht funktioniert.

Hab jetzt mal einen crontab angelegt
14 0 */14 * * find  /opt/fhem/www/tablet/BlinkCamera/Kameras/thumbnail/camera/ -type f -mtime +14 -name '*.MovieExtension' -delete

Das müsste doch funktionieren oder!?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI