cron이 왜 내 작업을 실행하지 않는지 어떻게 알 수 있습니까?


15

Ubuntu 14.04를 사용하고 있으며 cron 데몬이 실행 중입니다.

# ps ax | grep cron
822 ?        Ss     0:00 cron

그러나 작업을 실행하지 않습니다. 이전에 다음 /var/log/syslog과 같은 항목을 얻었습니다 .

2014-05-04T11:47:01.839754+01:00 localhost CRON[29253]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

그러나 이제 cron 관련 항목이 없습니다. 또한 다음과 같은 항목을 얻었습니다 /var/log/auth.log.

2014-05-04T11:47:01.839183+01:00 localhost CRON[29252]: pam_unix(cron:session): session opened for user root by (uid=0)
2014-05-04T11:47:13.495691+01:00 localhost CRON[29252]: pam_unix(cron:session): session closed for user root

그러나 다시, 이제 cron 관련 항목이 없습니다.

나는 무엇이 바뀌 었는지 모른다. cron을 다시 시작하려고했습니다.

# service cron restart
cron stop/waiting
cron start/running, process 24907

crontab -ecron 작업을 추가하는 데 사용하려고 시도했지만에 * * * * * date >> /tmp/somefilecrontab에 /var/spool/cron/crontabs/root파일을 사용하려는 반면 새로운 crontab을 설치 했습니다 /etc/crontab.

사용할 수있는 디버그 옵션 또는 조사 할 수있는 오류 메시지를 표시 할 수있는 로그가 있습니까?


1
crontab -l에 무엇이 표시됩니까?
user345352353

no crontab for root.
jl6

이 SE 사이트에서 조금만 검색하면 답을 얻을 수 있다고 생각합니다. 이것은 매우 일반적인 문제입니다.
mdpc

crontab명령 ( -l스위치)을 사용하여 검색 한 크론 은 사용자에 따라 다르지만 /etc/crontab시스템 전체 크론을 저장하는 데 사용됩니다. 이러한 이유로 저장된 작업 /etc/crontab은 다른 사람의 작업에 나타나지 않습니다 crontab -l.
John WH Smith

답변:


4

cron작업에 문제가있는 것을 디버그하는 데 도움이되도록 메일을 확인해야합니다. 일반적으로 /var/mail/<user_name>또는 같은 파일에 저장됩니다 /var/spool/mail/<user_name>.

이 두 파일은 실제로 데비안 박스에 하드 링크되어 있지만 이것이 표준인지는 모르겠습니다.

설명

로부터 cron(8)페이지 :

명령을 실행할 때 모든 출력은 crontab의 소유자 (또는 crontab의 MAILTO 환경 변수에 이름이 지정된 사용자에게있는 경우)로 메일로 전송됩니다.


메일을 확인했습니다. 아무것도 생성되지 않으며 dead.letter 파일도 없습니다.
jl6

0

루트에 대한 crontab이없는 것으로 나타났습니다. crontab 항목이있는 사용자가 있습니까? 루트 만 사용하는 경우 다음 디렉토리를 확인할 수도 있습니다. /etc/cron.daily/-/etc/cron.hourly/-/etc/cron.monthly/-/etc/cron.weekly

내 컴퓨터 (centos 6.4)에서 /etc/cron.daily/ 디렉토리 안에 mlocate.cron이 있고 cron은 매일 해당 스크립트를 실행합니다.

그래서 당신은 cron 작업을 추가해야한다고 생각합니다.


그러나에 crontab 파일이 /etc/crontab있습니다. 아마도 질문은 왜 crontab -l그것을 인정 하지 않는 것일까 요?
jl6

0

사용 권한을 /etc/crontab다음 으로 변경하여이 문제를 해결했습니다 .

-rw-r--r-- 1 root root 778 May 10 21:31 /etc/crontab

이전에는이었습니다 -rw-rw-r--. 그게 유일한 변화였습니다. 작동하지 않았지만 이제는 작동합니다. 아직도 이유가 확실하지 않습니다.


1
루트 crontab은 모든 명령을 루트로 실행합니다. 비 루트에 대한 쓰기 액세스를 허용하는 권한은 보안 허점으로 간주됩니다.
ChuckCottrill

@ChuckCottrill : 그러나 그룹 쓰기 비트는 루트 그룹의 사용자에게만 쓰기 액세스 권한을 부여했을 것입니다. 아마도 루트 사용자일까요?
jl6

0

나는 비슷한 유형의 문제가 있었지만 루트를 사용자로 루트를 지정한 후에 /etc/crontab cron 작업이 트리거되기 시작했습니다.

의 구문이 다음과 crontab -e다른 것일 수 있습니다 /etc/crontab.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.