crontab이 없으면 /etc/cron.*가 실행됩니까?

crontab이 없으면 /etc/cron.*가 실행됩니까?

Ubuntu 서버를 설정하고 미러링 후 존재했던 Ubuntu 사용자를 삭제했습니다.

루트 또는 내 사용자에 대한 crontab이 없습니다. 이건 /etc/crontab.*달리기에 의미가 없나요? 루트 crontab에서 이러한 cron 작업을 호출해야 합니까?

답변1

이 내용은 다음과 같이 기록됩니다.cron(8)맨페이지(이 글을 읽으면서 데비안에 특정한 모든 것이 우분투에도 적용된다는 점을 고려하십시오). 특히:

cron/var/spool/cron/crontabscrontab 파일( 의 계정 이름을 따서 명명됨) 이 스풀 영역( )에서 검색됩니다 /etc/passwd. 발견된 crontab이 메모리에 로드됩니다. 이 디렉터리의 crontab은 직접 액세스하면 안 됩니다. crontab 명령을 사용하여 액세스하고 업데이트해야 합니다.

cron또한 /etc/crontab형식이 약간 다른 을 읽어보세요(참조crontab(5)). Debian에서는 , 및 에서 프로그램을 실행하기 위해 의 내용이 /etc/crontab미리 정의되어 있습니다 . 이 구성은 Debian에만 해당됩니다. 아래 참고 사항을 참조하세요./etc/cron.hourly/etc/cron.daily/etc/cron.weekly/etc/cron.monthly데비안 전용다음과 같은.

또한 데비안에서는 cron디렉터리의 파일을 읽습니다 /etc/cron.d. 파일은 파일과 동일한 방식으로 처리됩니다 cron(해당 파일의 특수 형식을 따릅니다. 즉, 사용자 필드를 포함합니다). 그러나 이들은 독립적입니다. 예를 들어 환경 변수 설정을 상속하지 않습니다./etc/cron.d/etc/crontab/etc/crontab

기본값 /etc/crontab다음과 같이:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

(추가 지원 포함 anacron).

따라서 사용자별 crontab을 갖고 있는 사용자가 없더라도 데비안 파생 제품에는 cron 작업을 지정할 수 있는 곳이 여전히 많이 있습니다. 위에서 언급한 대로 다양한 방식으로 처리될 수 있습니다. 의 모든 항목은 /etc/cron.d직접 해석되지만 , 및 는 cron의 해당 지침에 따라 실행되거나 설치된 경우(일일, 주간 및 월간 작업의 경우) 실행됩니다./etc/cron.monthlyweeklydailyhourly/etc/crontabanacron

크론 작업의 다양한 역할을 반영합니다. /etc/cron.d패키지가 cron 작업을 삭제하고 cron 지정자를 사용하여 실행할 수 있도록 허용합니다. /etc/cron.monthly등. 패키지 및 시스템 관리자가 스크립트 또는 바이너리를 제거하도록 허용합니다.아니요cron 지정자를 사용하고 실행되는 정확한 순간을 정확하게 제어할 필요 없이 주기적으로 실행되도록 합니다. 사용자별 crontab을 사용하면 사용자는 자신의 작업을 정의하고 crontab시스템에서 형식을 사용하기 전에 형식이 유효한지 명시적인 유효성 검사(명령 사용)를 통해 확인할 수 있습니다.

관련 정보