Cronjob läuft nicht

  • Hallo zusammen,


    ich möchte eine MySQL Datenbank automatisch über einen Cronjob sichern. Den Befehl habe ich mir schon zusammengebaut. Wenn ich diesen auf der Konsole starte funktioniert das ganze. Nur wenn ich es als Cronjob laufen lasse geht es noch nicht. Ich vermute das hat etwas mit den Klammern etc. zu tun, weil vermutlich der Cronjob das nicht wie auf der Konsole ausführt?


    Manuell auf der Konsole

    sudo /usr/bin/mysqldump --defaults-extra-file=/home/myroot/.mylogin.cnf -u root --single-transaction --quick --lock-tables=false --all-databases > /mnt/all_databases/full-backup-$(date +%F).sql | mail -s "Backup Datenbank - full_databases" -r myroot@mydomain.lan myroot@mydomain.lan


    Als Cronjob

    0 21 * * * myroot sudo /usr/bin/mysqldump --defaults-extra-file=/home/myroot/.mylogin.cnf -u root --single-transaction --quick --lock-tables=false --all-databases > /mnt/all_databases/full-backup-$(date +%F).sql | mail -s "Backup Datenbank - full_databases" -r myroot@mydomain.lan myroot@mydomain.lan

  • Ist sudo im cronjob nicht Unsinn? Pack es in die crontab von root...


    Und den ganzen Befehl in ein Shellscript. Wenn das von der Shell aus läuft, dann auch aus der crontab.


    Lars

  • Hi,


    danke für den Tipp. Das funktioniert!