RHEL / CentOS는 /etc/cron.d/* 아래의 모든 cronjob 파일을 실행합니까, 아니면 일부만 실행합니까?


19

Red Hat Enterprise Linux 5 시스템 (RHEL)입니다. CFengine을 사용하여이 시스템을 관리합니다.

우리는 평소보다 두 번 자주 실행되는 여러 cronjob이 있습니다. 아래에서 cronjobs을 확인 했으며이 /etc/cron.d/디렉토리에는이라는 실제 스크립트와라는 host-backupcfengine 백업 파일이 포함되어 있습니다 host-backup.cfsaved.

/etc/cron.d/host-backup
/etc/cron.d/host-backup.cfsaved

이 운영 체제는의 모든 파일을 실행 /etc/cron.d/*하거나 특정 패턴과 일치하는 파일 만 실행 합니까? 이것을 구성 할 수 있으며 어디에 정의되어 있습니까?

RHEL 또는 CentOS 설명서에서이 답변을 찾을 수 없습니다.

답변:


20

(Red Hat 지원에 대한 비용을 지불하는 경우 이러한 종류의 질문을해야합니다. 이것이 바로 귀하가 지불하는 것입니다!)

에서 RHEL5의 crontab(5)man 페이지 :

존재하는 경우 /etc/cron.d/디렉토리는 cron 스풀 디렉토리와 같이 구문 분석됩니다. 단, 디렉토리에있는 파일은 사용자 별이 아니므로 /etc/crontab구문으로 읽습니다 (사용자는 6 번째 열에 명시 적으로 지정됨).

(RHEL 매뉴얼 페이지에 액세스하지 않고 읽는 간단한 방법이 있습니까? 적어도이 방법으로이 단락이 Red Hat 패치의 일부이므로 표준 Vixie Cron 4.1 기능이 아닙니다.)

소스를 보면, 나는 다음과 같은 파일이 생략 된 것을 볼 : .*, #*, *~. *.rpmnew, *.rpmorig, *.rpmsave. 예, *.cfsaved원본 외에도 파일을 읽습니다.


안녕하세요 Giles,에서와 동일한 구문을 찾았습니다 vixie-cron-4.1-77.el5_4.1.src.rpm. 아이러니하게도이 텍스트는 cron 설명서 페이지에 포함되어 있지 않으며 시스템의 텍스트 파일에는 포함되어 있지 않습니다. 왜 그런지 잘 모르겠지만 다른 토론의 주제입니다.
Stefan Lasiewski


@ 길레스 : 당신이 이겼습니다. RedHat 소스는 명확한 답변을 포함해야합니다. 이 경우 (소스는 설치된 파일과 다른 것 같습니다) [unix.stackexchange.com/questions/4815], 다른 주제입니다.
Stefan Lasiewski

6

RedHat 지원의 답변은 다음과 같습니다.

cron.d 디렉토리 아래의 모든 파일을 검사하고 실행한다는 사실을 알려드립니다. 기본적으로 / etc / crontab 파일의 확장자입니다 (예 : / etc / crontab 파일에 항목을 추가해도 동일한 효과)

"이 운영 체제는 /etc/cron.d/*에있는 모든 파일을 실행합니까, 아니면 특정 패턴과 일치하는 파일 만 실행합니까? 구성 할 수 있으며 어디에 정의되어 있습니까?"

/etc/cron.d/* 아래의 모든 파일이 실행됩니다 (소스 파일의 문서에 따라 .rpmsave, * ~ 등의 특정 파일 확장자는 무시되는 것으로 보입니다). 구성 파일을 통해이를 구성 할 수 없습니다. 소스를 다시 컴파일하는 경우이를 구성 할 수 있습니다. 이 동작은 소스에 포함 된 설명서에 언급되어 있지만 찾을 수있는 매뉴얼이나 매뉴얼 페이지에는 나타나지 않습니다.


5

답변을 추적하는 데 어려움을 겪었던 이유는 Red Hat 관련 질문이 아니기 때문입니다. 현재보고있는 문제는 사용자가 cron식별 한 디렉토리의 각 파일 이 표준 작업의 일부로 자동으로 처리됩니다 .

따라서 귀하의 질문에 대한 짧은 대답은 "예, 모든 파일이 실행됩니다"입니다. 이것은 내가 구성 할 수 있다고 생각하는 것이 아닙니다.


2
cron의 구현은 서로 다릅니다. 데비안과 우분투는 Vixie Cron (3.0)과 함께 제공되며, 그 취급 방법은 매뉴얼 페이지에cron.d 설명되어 있습니다. RHEL은 ISC cron 4.1 (동일한 프로젝트의 포크)과 함께 제공되며 맨 페이지 (최소한 CentOS )에는 언급되어 있지 않습니다 . cron.d
Gilles 'SO- 악마 중지'12

1
@Gilles : 포인터 주셔서 감사합니다. Cronie가 설치된 Fedora를 사용하고 있습니다 (Vixie / ISC Cron 포크). 매뉴얼 페이지는 /etc/cron.d검색 경로 중 하나라고 언급 합니다. 답변에 세부 사항이 충분하지 않은 경우 사과드립니다. Red Hat에도 적용되어야합니다. 그렇지 않은 경우 알려주세요
mlschechter

1
그것을 조사한 후, 이것은 정확히 Red Hat 관련 질문입니다 (내 답변 참조). Red Hat 전용이므로 CentOS조차도 다르며 Fedora는 아마도 다를 수 있습니다 (그러나 확인하지는 않았습니다).
Gilles 'SO- 악마 중지'12

1
@Gilles-응답이 지연되어 죄송합니다. 현재 레드햇 EL (5) , Red Hat은 반드시 vixie-cron을 사용합니다. RHEL 6 은 크로 니를 사용합니다. RHEL 5 설명서를 검토 한 후 원본 (잘못 제공된 경우) 결론을 확인한 것 같습니다. 다시 한 번 파고 들기 위해 모든 도움을 주셔서 감사합니다.
mlschechter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.