Ausführen von Cronjobs am Host funktionieren nicht für den Docker Container

  • Hallo zusammen


    Ich habe aktuell das Problem dass, der Cronjob am Host (NAS) nicht ausgeführt wird.

    Und zwar will ich mit dem Host ein Script im Docker Container ausführen.

    Das wird aktuell wie folgt ausgeführt:

    Code
    0 16 * * * docker exec -it -u 0 postgresql_postgres_1 sh /backups/createBackup.sh
    5 16 * * * docker exec -it -u 0 postgresql_postgres_1 python3 /backups/send_EmailNotification.py


    ich habe es als sudo /etc/config/crontab geändert

    dannach den Service wie folgt neu gestartet


    Code
    sudo crontab /etc/config/crontab
    sudo /etc/init.d/crond.sh restart


    Wenn ich nun sudo crontab -e ausführe sind auch die neuen cron jobs ersichtlich, jedoch passiert einfach nichts?


    Wenn ich aber die Zeilen manuell ausführe, wird alles richtig ausgeführt

    Code
    docker exec -it -u 0 postgresql_postgres_1 sh /backups/createBackup.sh
    docker exec -it -u 0 postgresql_postgres_1 python3 /backups/send_EmailNotification.py


    Woran kann das bitte liegen, es scheint so als ob die jobs nicht registriert sind!


    Oh ich hab es gerade selbst gelöst, falls jemand das gleiche Problem haben sollte. Hier die Lösung


    Anscheinend darf man die Flags -it -u nicht mit geben!

    Code
    0 16 * * * docker exec postgresql_postgres_1 sh /backups/createBackup.sh
    5 16 * * * docker exec postgresql_postgres_1 python3 /backups/send_EmailNotification.py

    So hat es bei mir nun geklappt.

    2 Mal editiert, zuletzt von elbec () aus folgendem Grund: Ein Beitrag von elbec mit diesem Beitrag zusammengefügt.

  • Gib den kompletten Pfad zum docker an. Beim Cronjob sind nicht alle Pfade zu Binarys wie auf der Konsole definiert und kann daher den docker nicht ausführen.