cronjob을 사용하여 매일 스크립트 실행


10

알아낼 수 없기 때문에 사용할 정확한 코드가 필요합니다. crontab -e크론 작업을 설정하는 데 사용 하지만 저장하면 작동하지 않습니다. 또한 newmail.sh루트 사용자로부터 호출 된 파일을 실행하려고합니다 .


질문에 대한 답변을 찾으셨습니까?
bendaf

답변:


10

매일 오후 3시 17 분에 작업을 실행하려면 다음을 사용하십시오.

17 15 * * * root newmail.sh

"newmail.sh를 매일 매주, 매월, 매일 오후 3:17에 루트로 실행합니다."

분 시간 dom 월 dow 사용자 cmd

분-명령이 실행될 시간을 제어하며 '0'과 '59'사이

hour-명령이 실행될 시간을 제어하며 24 시간 시계에 지정되며 값은 0과 23 사이 여야합니다 (0은 자정)

dom-이것은 달의 날짜입니다. 예를 들어 매월 19 일에 명령을 실행하려면 dom은 19입니다.

월 지정된 명령이 실행되는 월이며, 숫자 (0-12) 또는 월 이름 (예 : 5 월)으로 지정할 수 있습니다.

dow-이것은 명령을 실행할 요일이며, 숫자 (0-7) 또는 요일 이름 (예 : sun) 일 수도 있습니다.

user-명령을 실행하는 사용자입니다.

cmd-실행하려는 명령입니다. 이 필드에는 여러 단어 나 공백이 포함될 수 있습니다.

에서 : http://www.unixgeeks.org/security/newbie/unix/cron-1.html


우분투 16 이상에서 새로운 형식은 "mh dom mon dow command"
bendaf

우분투 19에서 분이 처음입니다. 또한 잘못된 시간에 대해 경고합니다.
kelalaka

6
sudo crontab -e

파일 끝에이 줄을 추가하십시오.

*/1 * * * * wget -O /dev/null  project_crone_URL

(1 분에 한 번씩 cron 실행)

0 0 * * * wget -O /dev/null  project_crone_URL

(24 시간에 한 번씩 cron 실행)

파일을 저장

이 명령으로 crontab을 시작하십시오

sudo /etc/init.d/cron start

이 명령으로 crontab을 중지하십시오

sudo /etc/init.d/cron stop

이 명령으로 crontab을 다시 시작하십시오.

sudo /etc/init.d/cron restart

2

Ubuntu 16.0 이상crontab -e 부터 사용 하면 사용자 필드가 없으므로 올바른 형식은 다음과 같습니다.

17 15 * * * newmail.sh

"newmail.sh를 매일 매주, 매월 오후 3시 17 분에 실행합니다."

다른 방법으로 dm78의 답변 은 정확하며 형식에 대한 정확한 설명을 포함합니다.

또한 문제 가 발생하여 메일 시스템이 설치되어 있으면 메시지를 보내 게됩니다. 자세한 내용은 이 답변을 참조하십시오

cronjobs 로깅 에 관심이 있다면 이 답변을 사용할 수 있습니다 .


2
어떤 crontab을 편집 하느냐에 따라 다릅니다 . crontab -e(정확하게 말한대로) 꼬추는 사용자 필드를 가지고 있지 않지만 파일 /etc/crontab(소위 시스템 의 crontab) 아래의 파일은 /etc/cron.d 어떻게 사용자 필드가 있습니다.
PerlDuck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.