Você parece confundir dois métodos diferentes de invocar cron
jobs.
O Ubuntu herda do Debian uma política um pouco confusa de suporte ao usuário crontabs
que são armazenados em uma área de spool /var/spool/cron
, e tarefas agendadas do sistema são executadas a partir de /etc/crontab
e os arquivos em /etc/cron.d
.
Trabalhos especificados em /etc/crontab
ou via arquivos em /etc/cron.d
precisam de um campo extra para permitir que eles sejam executados como um usuário diferente, então o formato é algo como
*/10 * * * * <username> <command> <args>
Os trabalhos configurados por meio da área de spool usando crontab -e
(ou sudo crontab -e
para raiz) já pertencem a um usuário específico e não precisam do campo de usuário
*/10 * * * * <command> <args>
Se você incluir o campo username em uma tarefa cron configurada por meio de um comando crontab -e
, ele será interpretado incorretamente como um comando: como podemos ver na sua saída de log,
Oct 21 07:30:01 stan CRON[7604]: (stan) CMD (stan /home/stan/update.sh)
cron
está interpretando stan
como um comando com argumento /home/stan/update.sh
A solução deve ser simplesmente remover o nome de usuário stan
do seu crontab.