Něco ve skriptu volá tput
binární. tput
se pokusí zkontrolovat $TERM
proměnnou k určení proudové svorky, aby mohla vytvářet správné řídicí sekvence. Když je cron spuštěn, není k dispozici terminál, takže se zobrazí chyba z tput
.
TERM
můžete buď přiřadit ručně hodnotu do úlohy cron (pravděpodobně dumb
nebo něco podobného) nebo (a to je pravděpodobně lepší řešení) můžete zjistit, co volá tput
a odeberte tento hovor.
Démon cron je spouštěn uživatelem „root“ ve vlastním shellu. Ve výchozím nastavení cron připojí systémovou poštu odeslanou uživateli spouštějícímu skript (proto vidíte odesílatele jako „root“ v systémové poště). „Uživatel“ je uživatel, pod kterým jste byli přihlášeni při nastavování crontab. Pošta bude obsahovat konzolu a chybové zprávy. Na Ubuntu je soubor pošty viditelný na adrese /var/mail/<username>
.
Pokud není $TERM
je nastavena proměnná, cron vydá tput: No value for $TERM and no -T specified
chyba v souboru pošty. Chcete-li tyto chyby zastavit, nastavte $TERM
proměnnou pomocí TERM=dumb
(nebo jiný dostupný terminál ve vašem systému, například xterm
) v crontab. toe
příkaz vám zobrazí definice terminfo na aktuálním systému. Pokud tento příkaz chybí, můžete vidět nezpracovaná data v /usr/share/terminfo
na většině systémů Linux.
I když jste zastavili chyby, můžete stále dostávat připojenou systémovou poštu se zprávami konzoly. Tento soubor se časem zaplní jako protokol, takže možná budete chtít tyto zprávy zastavit. Chcete-li zastavit systémovou poštu cron, nastavte MAILTO
proměnnou pomocí MAILTO=""
Takže váš crontab může vypadat takto:
MAILTO=""
TERM=xterm
* * * * * sh /path/to/myscript.sh
Crontab (pro uživatele, pod kterým jste přihlášeni) můžete zobrazit pomocí 'crontab -l'.