automatisches Löschen TS-119 klappt nicht

  • ich habs noch nicht ganz durchschaut, aber es wird.
    hab heute die crontab geändert mit folgenden eintag (siehe bild)
    es ist 17:00 uhr was passiert. es wurden bildaufnahmen bis 5.11.10 15:00 gelöscht.
    mal sehen wies morgen aussieht.


    wenn ich den eintrag cam1 weglasse wird dann der inhalt des ordners Qrecordings gelöscht ??
    hintergrund ist der, wenn ich noch mehr kameras aufzeichnen lasse möchte in ordner Qrecordings/cam2 , Qrecordings/cam3 usw. , müsste ich jeden einen eigenen cronjob erstellen.


    die ordner werden nicht gelöscht!! nur der inhalt.
    wenn es eine lösung gibt komplett alles alte zu löschen wär ich dankbar.


    gruß klaus

  • Ja, wenn du das cam1 wegnimmst, dann schaut er in Qrecordings und allen Unterordner nach Dateien und löscht die,
    die älter als 2 Tage sind.


    Meinst du mit komplett alles also auch die Ordner?


    Gruss
    Waven

  • ja ich meine auch die Ordner.wär gut wenn die auch gleich verschwinden.


    trotzdem eine Frage: wieso hat es heute bis datum 5.11.10 ordner 16:00 gelöscht.
    also von heute 8.11.10 17:00 (start) - 2 Tage ist doch der 6.11.10 meinetwegen 16:00. :shock:
    ist nicht schlimm, kanns mir nur nicht erklären.
    Bin so froh das es so funzt. :mrgreen:


    gruß klaus

  • Ich habe hier eine Erklärung zu mtime gefunden.
    Demnach findet -mtime +2 alle Dateien die älter als 3 Tage sind. Was sich ja auch mit deiner Beobachtung deckt.


    Also müsste der Eintrag in der crontab

    Zitat

    /opt/bin/find /share/HDA_DATA/Qrecordings/ -type f -mtime +1 -exec rm {} \;


    lauten.


    Und nochmal zum Verständnis: Du möchtest also das jeweils in den Ordner cam1, cam2, ... alle Dateien und Ordner, die älter als 2 Tage sind,
    gelöscht werden und die Ordner cam1, cam2, ... aber nicht glöscht werden?


    Gruss
    Waven

  • genau das meine ich, die jede kamera schreibt in einen zugewiesenen ordner cam1, cam2 usw. im ordner cam1 wird automatich von der kamera ein neuer ordner erzeugt mit datum als name. in diesem wiederum erzeugt die kamera 24 ordner , für jede stunde einen. der inhalt der ordner wird gelöscht , die ordner aber bleiben.


    gruß klaus

  • So ich hab dir mal ein Script gebastelt:


    Code
    #/bin/shREC_PATH="/share/HDA_DATA/Qrecordings"FIND_CMD="/opt/bin/find"for cam in "$REC_PATH"/cam*; do        echo "end" >> "$REC_PATH"/temp.txt        $FIND_CMD "$cam" -type f -exec -mtime +1 rm {} \;        $FIND_CMD "$cam" -type d -mtime +1| while read folder; do                if [ "$folder" != "$cam" ]; then                        sed -i '1 i\'"$folder" "$REC_PATH"/temp.txt                fi        done        cat "$REC_PATH"/temp.txt | while read line; do                if [ "$line" != "end" ]; then                        if [ `ls -1a "$line" | wc -l` -eq 2 ]; then                                rm -r "$line"                        fi                fi        done        rm "$REC_PATH"/temp.txtdone


    Das Script durchläuft alle Ordner, die in Qrecordings liegen und mit cam beginnen.
    Zuerst wird die Datei temp.txt erstellt und das Wort end hineingeschrieben.
    Danach werden alle Files, die älter sind als 2 Tage, gelöscht.
    Dann werden alle Ordner gesucht, die älter als 2 Tage sind und in umgekehrter Reihenfolge ins File temp.txt geschrieben.
    Dann werden die Ordner wieder aus dem File gelesen und überprüft, ob sie leer sind und dann gelöscht.
    Und das File temp.txt wird auch wieder gelöscht.


    Jetzt erstellst du eine neue Datei z.B. /share/HDA_DATA/cleanrec.sh und kopierst das Script von oben rein.
    Danach machst du das Script mit

    Code
    chmod +x /share/HDA_DATA/cleanrec.sh


    ausführbar.
    Danach musst du noch in der crontab den aktuellen Eintrag durch

    Code
    0 12 * * * /share/HDA_DATA/cleanrec.sh


    ersetzen.


    So sollten auch die Ordner gelöscht werden.
    Erstell aber bitte noch eine Datensicherung bevor du das Script testest.


    Gruss
    Waven

    Einmal editiert, zuletzt von Waven ()

  • hallo Waven,


    bin grad von arbeit heim und danke schon im vorraus für deine mühe.
    teste es morgen aus.


    ps. das löschen klappt.


    meine sorge ist nur, ob die qnap das alles schafft:
    z.b.wenn 6 kameras auf die ts-119 schreiben und zwar jpeg bilder im sekunden takt und der cronjob aktiviert ist und ein user noch eine kamera live anschaut!


    die praxis wird es am ende zeigen.


    obwohl, wenn ich dran denke was meine andere qnap zu tun hat, 5 dreamboxen vernetzt, als nas eine ts-119, timeshift und recording funzt ohne probleme , da sehe ich optimistisch in die zukunft.


    gruß klaus

  • Danke David und Waven für die geleistete Hilfe.
    Wenn ich was Gutes für Euch oder fürs Board tun kann, lasst es mich wissen.
    Man kann auch einen DSL-Anschluss im Kupfer schneller machen, wenn man die richtigen Leute kennt!!!!!!!!!
    1000 dank nochmal für die Hilfe.


    MfG Klaus

  • Hallo zusammen,


    ich habe ein Anliegen, welches in das Thema hier gut passt.


    auf meinem TS-410 wollte ich zur Nutzung einiger Cronjobs mit "- exec" und "- find" Kommandos jetzt auch mal die Optware ipkg installieren. Ich laufe mit Firmware 4.1.1, also aktuell, und habe über das Appcenter die 0.99.163 Optware ipkg installiert. Danach dann mit der SSH Anmeldung als admin noch die Befehle ipkg update und ipkg install findutils ausgeführt. Danach lief mein Cronjob auch ohne Probleme. Nach einem Reboot fiel mir nun auch, dass der Ordner /share/MD0_DATA/.qpkg/Optware leer war. Auch andere Ordner die durch installierte Apps dort erstellt wurden, wie z.B. Surveillance Station waren total leer. Immer beim Neustart werden einige Ordner dort gelert. Ich habe nun einges an Suche hier und an anderen Stellen investiert, aber ohne wirklichen Erfolg.


    Wisst ihr, was da falsch läuft? Ich kann ja sicher nicht nach jedem Reboot das Optware ipkg neu installieren müssen?!


    Danke euch schonmal für eure Erfahrungen...


    Ich vermute ja mittlerweile, dass es etwas mit dem mount zu tun hat, aber bin da ratlos, an welcher Stelle ich anfassen muss.