크론 작업이 실행되지 않습니까?


24

다음과 같은 crontab 파일이 있습니다.

* * * * * /home/abliskovs/update/update.sh

그러나 작업이 실행되었다는 증거가 있는지 syslog를 확인하면 작업이 실행되었음을 나타내는 것은 없습니다. 실행 중인지 어떻게 확인할 수 있습니까?

crontab -l 다음을 출력합니다.

* * * * * /home/abliskovs/update/update.sh


알았어.
Alex Bliskovsky

어리석은 질문 일 수도 있지만 전에는 나에게 일어 났으므로 어쨌든 물어볼 것입니다. cron 데몬이 실제로 실행 중인지 확인하십시오! : P 두 번째 추측은 권한입니다. cronjob을 실행하는 사용자가 실행할 수 있는지 확인하십시오.
Mattias Ahnberg 2012 년

답변:


21

crontab 항목 끝에 >> / tmp / testlog.log를 추가하십시오 (출력을 조사하거나 실행중인 파일로 출력을 리디렉션하려면 추가로 2> & 1이 오류 콘솔의 출력을 포함 함).

0 * * * * /home/abliskovs/update/update.sh 2> & 1 /tmp/testlog.log

또한 다음을 확인하십시오.

  • 올바른 방식으로 크론 작업을 추가하십시오. 자신의 계정 내에서 crontab -e를 사용한 경우 스크립트는 사용자와 함께 실행되므로 crontab 항목에는 알려진 필드와 같이 필드를 적게 사용합니다. 위의 내용을 /etc/cron.d에 복사 한 경우 사용자를 지정하지 않았거나 "bash"라는 사용자를 찾지 못하면 실패합니다.
  • 스크립트 파일이 실행 가능한지 확인하십시오. 그렇지 않으면 실행되지 않습니다.
  • cron 작업 sudo 서비스 다시로드를 다시로드 하거나 cron 서비스를 다시 시작하십시오.sudo /etc/init.d/cron restart

파일을 실행 가능하게 만드는 방법?

파일을 실행 가능하게 만드는 여러 가지 방법

chmod +x /home/abliskovs/update/update.sh 

chmod -R 0755 /home/abliskovs/update/update.sh

chmod a+x /home/abliskovs/update/update.sh

3

스크립트 파일이 실행 가능한지 확인하십시오 {chmod 755} 그렇지 않으면 실행되지 않습니다


2
파일을 실행 가능하게 만들기 위해 다음을 실행할 수도 있습니다.chmod +x filename
Stefano Palazzo

0

쉘 스크립트 update.sh에 오류가있을 수 있습니다 (예 : 명령을 찾을 수 없어서 실행할 수없는 일부 명령). 이 경우 PATH 변수에서 명령의 경로를 추가하거나 명령 앞에 직접 추가하는 것이 도움이 될 수 있습니다. 또한 MAILTO 이메일 주소를 지정하는 데 도움이됩니다.

PATH=/path/to/your/command:/another/important/path
MAILTO=my_name@my_domain 

또한 로컬 사서함과 mailsyslog 파일을 검사 /var/log/syslog하여 오류 가 있는지 확인할 수 있습니다 . 왜 cronjobs가 작동하지 않는지 관련 질문을 참조하십시오 .


0

나는 같은 문제를 겪었고 crontab이 권한이 없기 때문에 crontab이 실행되고 있지 않은 것이 원인이었습니다. 파일을 변경하고 /tmpt/output.log에 넣었습니다.

*/5 * * * * /usr/bin/php /home/ubuntu/app/artisan cmd:process-order > /tmp/queue.output

이것이 당신에게 효과가 있는지 알려주세요.

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