Datein löschen die älter als XX Tage sind?

Begonnen von blasterx, 14 September 2017, 16:54:14

Vorheriges Thema - Nächstes Thema

blasterx

Hallo,
Ich möchte Bilder von meiner IPCam löschen die unter tor/test/ gespeichert sind. Datein die älter als 3 Tage sind sollen gelöscht werden. Die Funktion wollte ich nicht erst in eine sub schreiben sondern direkt aus einem DOIF starten. Folgender Code geht was aber nur die letzten 10 Datein löscht.

( [DU_Test]) ("rm $(find tor/test/ "*.jpg" | sort | tail -n 10)")

ich weis damit ich mit dem Befehl "-mtime +3" arbeiten muß, aber ich weis nicht wie der Code zusammengesetzt ist.
Getestet habe ich dießen Code der nicht geht.
( [DU_Test]) ("rm $(find tor/test/ -name "*.jpg" -mtime +3 )")
Vieleicht hat von Euch einer einen Tip für mich.

Gruß BlasterX
Gruß-BlasterX

amenomade

Bei mir geht etwas wie: find tor/test/*.jpg -mtime +3 -exec rm {} \;

Aber deine Art könnte auch funktionieren, wenn Du auf die Aufführungszeichen aufpasst. Mit dem " nach -name beendest Du für fhem den Systembefehl. Ich bin schon überrascht, dass dein ersten Befehl funktioniert... Sagt dir die Log nichts?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

blasterx

@ amenomade
Danke für die schnelle Antwort. Aber leider geht es nicht ich bekomme folgende Fehlermeldung.
"find tor/test/*.jpg -mtime +1 -exec rm \;": Unknown command "find, try help. Unknown command ", try help.
Der Code den ich benutzt habe ist folgender.
( [DU_Test])("find tor/test/*.jpg -mtime +3 -exec rm {} \;")

Gruß BlasterX
Gruß-BlasterX

amenomade

Und so?
( [DU_Test]) {"find tor/test/*.jpg -mtime +3 -exec rm {} \;"}
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

blasterx

Beim DOIF muß der Ausführungsteil in () Klammern stehen, sonst kommt gleich beim bearbeiten des DOIF's ein Fehler.
Ich habe es folgendermaßen eingetragen.
( [DU_Test]) ({"find tor/test/*.jpg -mtime +3 -exec rm {} \;"})

Aber da kommt auch die Fehlermeldung.
{"find tor/test/*.jpg -mtime +3 -exec rm \;"}: Unknown command {"find, try help. Unknown command "}, try help.
Ich suche schon Stunden im Netz nach einer Lösung.
Gruß BlasterX
Gruß-BlasterX

amenomade

ZitatBeim DOIF muß der Ausführungsteil in () Klammern stehen, sonst kommt gleich beim bearbeiten des DOIF's ein Fehler.

Stimmt nicht. Seit Monaten akzeptiert DOIF perl Befehle in geschweifte Klammern.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

#6
Genau seit Revision 13635 vom 07.03.2017 "Doc fixed, Perl code without semicolon duplication and without () -brackets possible"
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

blasterx

Sorry von der neuen Funktion wusste ich nicht :-[.
Ich habe es mal so in mein DOIF eingegeben
([DU_Test]) {"find tor/test/*.jpg -mtime +3 -exec rm {} \;"}
doch leider bekomme ich folgende Fehlermeldung und die Bilder werden auch nicht gelöscht.
{"find tor/test/*.jpg -mtime +1 -exec rm \;;"}: find tor/test/*.jpg -mtime +1 -exec rm ;

Gruß BlasterX
Gruß-BlasterX

blasterx

Folgendes habe ich bemerkt wenn ich den Code
{system ('find tor/test/*.jpg -mtime +1 -exec rm {} \;;')}
in die Fhem Befehlszeile eingebe werden die Bilder korrekt gelöscht.
Gebe ich es so
([DU_Test]) {system ('find tor/test/*.jpg -mtime +1 -exec rm {} \;;')}
ein dann löscht er die Bilddatein nicht.
Hat Jemand eine Idee wo der Fehler im DOIF-Code ist?

Gruß BlasterX
Gruß-BlasterX

blasterx

#9
Ich habe es jetzt den Code in ein Notify geschrieben
DU_Test:.* {system ('find tor/test/*.jpg -mtime +1 -exec rm {} \;;')}
wo es auch wunderbar funktioniert und die Bilddateien gelöscht werden. Doch leider bekomme ich es nicht mit einem DOIF hin.
Ich werde mal mein Problem in der DOIF Abteilung anbringen.
https://forum.fhem.de/index.php/topic,76696.0.html
Gruß BlasterX
Gruß-BlasterX