GNU/Linux >> Znalost Linux >  >> Ubuntu

Shell Script se po přidání jako úlohy Crontab nespustí?

Přidal jsem následující úlohu crontab:

sudo crontab -e

58 * * * * ubuntu /home/ubuntu/backup/mysqlbackup.sh >/home/ubuntu/backup/log/backup.log

Zkoušel jsem uživatele root i ubuntu.

Když spustím příkaz:

sudo crontab -l

A když běžím:

systemctl status cron

Ale mysqlbackup.sh není spuštěn. Máte představu, v čem je problém nebo jak mohu diagnostikovat, co se děje?

Poznámka:Na testování skriptu jsem přidal pouze minuty

Přijatá odpověď:

58 * * * * ubuntu /home/ubuntu/backup/mysqlbackup.sh >/home/ubuntu/backup/log/backup.log

Toto je nesprávný formát.

Formát je popsán v souboru crontab:

  # m h  dom mon dow   command

ubuntu není příkaz. Odstraňte jej, takže řádek zní:

  58 * * * *  /home/ubuntu/backup/mysqlbackup.sh >/home/ubuntu/backup/log/backup.log

Celosystémový crontab, specifikovaný v /etc/crontab má uživatelské pole:

These files also have username fields,
# that none of the other crontabs do.
[...]
# m h dom mon dow user  command

Ubuntu
  1. Časový limit ve skriptu Shell?

  2. Úloha Cron zkontrolovat, zda skript PHP běží, pokud ne, pak spustit?

  3. Shell Script:Stav „pokud se soubor nepoužívá“?

  1. Shell Script, čtěte na stejném řádku po ozvěně zprávy

  2. Příkaz Linux pro kontrolu, zda je spuštěn skript shellu nebo ne

  3. Spouštějte skript shellu každý den v určitou dobu

  1. Bash Echo Příkazový řádek spuštěn na samotném příkazovém řádku (ne ve skriptu)?

  2. Ubuntu – Crontab nefunguje?

  3. Zjistěte, zda soubor existuje nebo ne v HDFS pomocí skriptu shellu