crontab 명령을 사용하는 대신 예약된 작업을 /etc/crontab에 직접 추가하면 단점/결과가 있습니까? [복사]

crontab 명령을 사용하는 대신 예약된 작업을 /etc/crontab에 직접 추가하면 단점/결과가 있습니까? [복사]

센트OS 5.x

누군가(아마도 다른 관리자)가 항목을 맨 아래에 직접 추가하여 다음과 같은 항목을 추가한 것을 확인했습니다 /etc/crontab.

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
00 3 * * 0 root foocommand

명령이 루트로 실행되기를 원한다고 가정할 때 이런 방식으로 예약된 작업을 추가하면 어떤 결과가 발생합니까? crontab -e예약된 작업 추가/편집을 사용하는 것이 더 편합니다 .

답변1

crontab 파일에서 명령을 실행하는 것과 차이가 없습니다. 적어도 Vixie cron(CentOS와 같은)은 매분마다 스풀 디렉토리의 수정 시간이나 수정 시간이 /etc/crontab변경되었는지 확인합니다.

그러나 편집을 거쳐 crontab -ecrontab에 쓰면 명백한 오류가 있는지 확인됩니다. 예를 들어, crontab의 마지막 줄이 다음과 같으면 * * * *다음 메시지를 받게 됩니다.

crontab: installing new crontab
"/tmp/crontab.HbT2Sa/crontab":27: bad day-of-week
errors in crontab file, can't install
Do you want to retry the same edit? (y/n) 

(적어도 마지막 줄이 27번째 줄이라면).

crontab파일에 행( /etc/crontab또는 그 안에 있는 행 /var/spool/cron/)을 추가하는 것뿐이라면 물론 그러한 확인 메커니즘이 적용되지 않을 것입니다.

관련 정보