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'.