2014-03-07 2 views
0

나는 cron 작업을 실행할 수 없으며 그 이유를 알 수 없다. 나는 아마추어적인 실수를 저지르고 있을지도 모르기 때문에 이것에 익숙하지 않다.크론 작업을 수행 할 때 수행해야 할 단계는 무엇입니까?

먼저 스크립트를 작성하고 'test.sh'를 호출하여/usr/local/bin 폴더에 넣습니다. 이 스크립트는 다음을 포함합니다 :

#!/bin/bash 
echo "This test works!" 

다음은 /etc/cron.d 폴더에 'randomtest'라는 파일을 만듭니다.

00 09 * * * root /usr/local/bin/test.sh >> /var/log/test.log 

내가 크론 작업 9:00 매일 오전에 실행되도록 기대하지만, 어떤 이유로, 그렇지 않습니다 : 파일이 포함되어 있습니다. 또한 예상대로 로그 파일을 가져 오지 않습니다. test.sh 파일에 대한 사용 권한을 검사했고 현재 작동해야하는 755로 설정되어 있습니다.

내가 잘못하고있는 것이 있습니까? 중요한 요소가 빠졌습니까? '랜덤 테스트'파일을 crontab이나 다른 파일에 추가해야합니까?

+0

우분투에 있습니까? [Cron How to] (https://help.ubuntu.com/community/CronHowto#line-141)를 확인할 수 있습니다. cron 데몬이'ps -ef | grep cron '입니다. – fedorqui

+0

CentOS 4.4, Linux 커널 버전 2.6.18-308.el5를 실행 중입니다. Cron 데몬이 실제로 실행 중입니다. – Dezzie

+1

'crontab -e'와 일반 crontab을 사용하면 어떨까요? – fedorqui

답변

0

/etc/init.d/crond reload을 사용하여 cron 데몬을 다시로드하십시오.

(이미! 실행중인 경우에도)

0

문제는 당신이 /etc/cron.d 디렉토리와 장난이 아닌 crontab 명령을 사용하고 있다는 점이다.

root으로 실행하려면 cron 작업이 필요하지 않으면 crontab 명령을 사용하여 사용자 자신의 crontab에 추가하십시오. crontab -e을 사용하여 편집 할 수 있지만, crontab을 (버전 관리가 이상적) 자신의 복사본으로 유지하고 명령의 crontab filename 버전을 사용하여 설치하는 것이 좋습니다. 이렇게하면 cron 데몬이 업데이트를 인식하고 모든 구문 오류가 포착됩니다. 또한 명령어를 root으로 실행할 필요가 없음을 의미합니다. 그들이 실질적으로 필요하지 않다면 root 명령은 을 피해야합니다. 항상입니다.

시스템 crontabs (/etc/crontab 아래 및 /etc/cron.d 디렉토리 아래 - 사용자가 이상하게 생각하지 않아도되는 구현 세부 정보이지만 사용자 crontab과 다른 구문이 있음). 각 행에는 명령이 실행될 계정을 지정하는 추가 필드가 있습니다. 당신이 루트로 실행하는 명령을해야하는 경우

, 당신도 (! 조심스럽게 를) 시스템 crontab 파일을 업데이트 할 수 있습니다, 또는 당신이하는 것처럼 당신은 정상 crontab 명령을 사용하여 root 사용자에 대한 사용자의 crontab을 설정할 수 있습니다 모든 사용자 계정.

관련 문제