Почему эта работа crontab не работает

У меня есть задание cron, которое выполняется каждую минуту в ящике Ubuntu 12.04

$sudo crontab -e * * * * * mylogin /pathto/file.sh > /log/filelog 

Если я запустил file.sh , скрипт bash выполняет некоторые действия и runs эхо- file.sh :

 $ ./file.sh runs 

Если я проверяю журнал вкладки cron, это показывает, что задание выполняется:

 Jul 10 12:41:01 localhost CRON[1811]: (root) CMD (mylogin /pathto/file.sh > /log/filelog) Jul 10 12:41:01 localhost CRON[1810]: (CRON) info (No MTA installed, discarding output) Jul 10 12:42:01 localhost CRON[1813]: (root) CMD (mylogin /pathto/file.sh > /log/filelog) 

Однако сценарий не запущен. Это не делает работу, а не runs эхо- /log/filelog на /log/filelog .

 $cat /log/filelog #shows nothing 

Какие еще шаги я могу предпринять, чтобы отладить эту проблему?

Указание имени пользователя, такого как mylogin , для файла /etc/crontab . С вашей командой sudo crontab -e вы фактически редактируете /var/spool/cron/crontabs/root и вы не должны указывать имя пользователя в таком файле, только в /etc/crontab .

Если вам нужно запустить команду как пользователь mylogin вы должны поместить строку в /etc/crontab (и отредактировать это с правами root ) или просто поместить ее в mylogin пользователя mylogin .

От man 5 crontab :

 EXAMPLE SYSTEM CRON FILE The following lists the content of a regular system-wide crontab file. Unlinke a user's crontab, this file has the username field, as used by /etc/crontab.