센트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 -e
crontab에 쓰면 명백한 오류가 있는지 확인됩니다. 예를 들어, 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/
)을 추가하는 것뿐이라면 물론 그러한 확인 메커니즘이 적용되지 않을 것입니다.