이 crontab 작업이 실행되지 않는 이유는 무엇입니까?

이 crontab 작업이 실행되지 않는 이유는 무엇입니까?

Ubuntu 12.04 시스템에서 매분 실행되는 크론 작업이 있습니다.

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

을 실행하면 file.shbash 스크립트가 작업을 수행하고 다음을 에코합니다 runs.

$ ./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.

$cat /log/filelog  #shows nothing

이 문제를 디버깅하려면 어떤 다른 단계를 수행해야 합니까?

답변1

mylogin파일의 사용자 이름을 지정합니다 /etc/crontab. 명령을 사용하면 sudo crontab -e실제로 를 편집하고 있으므로 /var/spool/cron/crontabs/root이와 같은 파일에 사용자 이름을 지정하면 안 되며 /etc/crontab.

사용자로 명령을 실행해야 하는 경우 mylogin해당 줄을 입력하거나 /etc/crontab(그리고 root권한으로 편집) mylogin사용자의 crontab에 넣어야 합니다.

에서 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.

관련 정보