cron.daily는 언제 실행됩니까?


199

cron.daily(및 .weeklyand .hourly)의 항목은 언제 실행되며 구성 할 수 있습니까?

나는 이것에 대한 확실한 대답을 찾지 못했고 하나가 있기를 바라고 있습니다.

RHEL5와 CentOS 4를 사용하고 있지만 다른 배포판 / 플랫폼의 경우에도 좋습니다.


2
NetBSD에 , 매일, 매주, 매월 cronjobs의 시간은 루트의 crontab에 설정됩니다.
hd1

이 질문은 일반적인 질문으로 편집 된 경우에 더 유용합니다. 최소한 Redhat의 모든 버전에 대해 일반적인 질문을하라. Centos 배포판은 버전 4와 5 (대부분 사용되지 않고 " 생산 종료 "( 종료 와 유사 함 )) 대신에 대신 사용된다 .
Trevor Boyd Smith

@TrevorBoydSmith-이 질문은 거의 8 년 전에 요청되었습니다. 최신 버전의 업데이트를 요청하십시오. 하지만 RHEL 6 도 존재하지 않았다 : 2010 년 4 월 access.redhat.com/articles/3078#RHEL6
워렌

@ warren 내 의도는 비판하는 것이 아니라 일반적인 질문과 스택 오버 플로우를 개선하는 것입니다. (질문이 제기 될 때 RHEL 6이 존재하지 않았다는 것을 이해합니다. 질문에 너무 많은 투표가 포함되어 있기 때문에 더 일반적으로 사용하는 것이 좋을 것입니다.)
Trevor Boyd Smith

@TrevorBoydSmith .. CentOS / RHEL 6에 대한 답변이 이미 있습니다. 계속해서 생각했던 질문에 대한 수정 제안을하십시오.
Warren

답변:


151

언급 한 배포판의 경우 :

CentOS 5.4에서 (RHEL5와 동일해야 함)

grep run-parts /etc/crontab

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

따라서 cron.daily는 04:02 am에 실행됩니다.

CentOS 4.8에서 동일


1
이것 뒤에 어떤 이유가 있습니까? 서버에서 가장 조용한 시간이라고 생각할 수 있습니다.
픽셀 개발자

@ 우분투에서 몇시에 실행됩니까? 어떻게 확인할 수 있는지 말씀해 주시겠습니까? 나는 명령 출력을 이해할 수 없다
Narendra Jaggi

@NarendraJaggi "run-parts"명령은 "이 폴더의 모든 것을 실행"을 의미합니다. cron.daily 등 폴더는이 디렉토리에서 실행 부분을 실행하는 cron 작업이 있기 때문에 작동합니다. 따라서 grep run-parts /etc/crontab각 디렉토리에 대해 run-parts가 호출되는 시점에 대한 지침을 찾으십시오.
Jordan Reiter

2
더 이상 CentOS 6 이상에서는 유효하지 않습니다.
lzap

74

매뉴얼 페이지에서 :

 Cron also searches for /etc/anacrontab

/etc/anacrontab 내 시스템에서 (Fedora 12) :

1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

또한보십시오 man anacrontab


6
의 경우입니다 CentOS 6. 감사.
mbrownnyc

3
"1"일마다 오전 5시를 의미합니까?. 미안하지만 이것은 아무것도 대답하지 않습니다.
elysch

3
@elysch 내 대답의 마지막 줄을 반복하겠습니다 : "man anacrontab"
leonbloy

2
여기 anacron에 대한 좋은 설명이 있습니다 . 기본적으로 anacron 에는 고정 시작 시간 이 없지만 지정된 지연 시간으로 마지막 프로세스가 실행 된 시간을 기준으로 프로세스를 시작합니다. 프로세스 가 실행되어야 할 때 머신이 꺼져 있으면 지정된 지연 후 (시스템이 특수 범위 + 랜덤 지연을 제외하고 @spechal의 답변 참조) 후에 머신이 다시 시작될 때 프로세스를 시작합니다.
storm_m2138

2
@mbrownnyc와 CentOS-7도
Trevor Boyd Smith

43

CentOS 6의 경우, / etc / anacrontab을 grep해야하며 서버 / 노트북 / dekstop / etc가 꺼져 있는지 여부에 따라 답이 달라집니다.

cat /etc/anacrontab 
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1   5   cron.daily      nice run-parts /etc/cron.daily
7   25  cron.weekly     nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly        nice run-parts /etc/cron.monthly

따라서 오전 3시에서 오후 10시 사이 (재부팅 후 및 시스템을 5 분 동안 가동 한 후 ^) 사이에 /etc/cron.daily를 실행하십시오. 재부팅이 없으면 작업은 3:05 AM++에서 실행되어야합니다.

** As defined by START_HOURS_RANGE
^^ As defined by FIELD_TWO (i.e. the 5 after the 1 in the cron.daily line)
++ plus a random time between 0 and 45 minutes as defined by RANDOM_DELAY

참조 : http://linux.die.net/man/5/anacrontab


14

SuSE 시스템 (특히 SLES 11.1 및 openSuSE 10.3)의 경우 /etc/cron.daily 스크립트의 일일 실행 시간은 / etc / sysconfig / cron 파일에 설정된 DAILY_TIME 변수 의 값에 의해 제어됩니다 .

DAILY_TIME 변수가 설정되지 않은 경우 기본값은 다음과 같습니다 (마지막 부팅 시간 + 15 분).


정말 고마워! SuSE는 다소 불투명하며 답변 해 주셔서 감사합니다.
dr0i

9

우분투에는 / etc / crontab 파일이 있는데, 여기서 파일이 구성되어 있습니다. 나는 그것이 RH와 Centos와 비슷한 것이라고 생각합니다.


2
이것은 Ubuntu Lucid 10.04 LTS에 적합한 파일입니다. cron.daily의 기본 설정은 오전 6:25입니다.
geekQ

우분투 15.04에서 오전 6시 25 분으로 설정되어 있습니다. 그러나 cron이 작업을 시작할 때 임의성을 삽입해야한다는 것을 알았습니다. 매일 매일 만드는 파일의 타임 스탬프를 살펴보면 며칠은 6:26에 일찍, 다른 날에는 8:04에 늦게 실행됩니다.
Stéphane

1
우분투 16.04에서 오전 6시 25 분에 계속 설정-시간당 17 분에 시간별. 매일 오전 6시 25 분 토요일 오전 6시 47 분 매월 1 일 오전 6시 52 분
WinEunuuchs2Unix

5

CentOS6.x / RedHat6.x는 기본적으로 cronie-anacron 패키지를 설치합니다. 당신은해야합니다 :

m 설치 크로 니-noanacron

얌 지우기 크로 니

그런 다음 /etc/cron.d/dailyjobs를 통해 일일, 주별 및 월간 작업에 가장 적합한 스케줄 시간을 구성하십시오.


2
anacron이 설치되어 있으면 제거하는 대신 여기에 다른 주석에 따라 / etc / anacrontab을 편집 할 수 없습니까?
cincodenada 2019

1
다니엘 스탠 토스가 제안한 것은 아닙니다.
mikemaccana

4

나는 Slackware (14.0)를 사용했지만 /etc/crontab. 또한 anacron배포판의 일부가 아닙니다.

내 시스템의 솔루션 crontab -l은 루트 처럼 실행하는 것만 큼 간단했습니다 .

root@flea:~# crontab -l
# If you don't want the output of a cron job mailed to you, you have to direct
# any output to /dev/null.  We'll do this here since these jobs should run
# properly on a newly installed system.  If a script fails, run-parts will
# mail a notice to root.
#
# Run the hourly, daily, weekly, and monthly cron jobs.
# Jobs that need different timing may be entered into the crontab as before,
# but most really don't need greater granularity than this.  If the exact
# times of the hourly, daily, weekly, and monthly cron jobs do not suit your
# needs, feel free to adjust them.
#
# Run hourly cron jobs at 47 minutes after the hour:
47 * * * * /usr/bin/run-parts /etc/cron.hourly 1> /dev/null
#
# Run daily cron jobs at 4:40 every day:
40 4 * * * /usr/bin/run-parts /etc/cron.daily 1> /dev/null
#
# Run weekly cron jobs at 4:30 on the first day of the week:
30 4 * * 0 /usr/bin/run-parts /etc/cron.weekly 1> /dev/null
#
# Run monthly cron jobs at 4:20 on the first day of the month:
20 4 1 * * /usr/bin/run-parts /etc/cron.monthly 1> /dev/null

3

에서 /etc/anacrontab내 우분투 9.10 시스템 :

1       5       cron.daily       nice run-parts --report /etc/cron.daily
7       10      cron.weekly      nice run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly nice run-parts --report /etc/cron.monthly

2

Solaris에 관한 한 그러한 시설은 없습니다. 일상적인 작업에는 일반 crontab 항목 만 사용하십시오.


1

OpenSuse 42.x 업데이트 :

/ etc / crontab은 15 분마다 실행되는 / usr / lib / cron / run-crons 파일을 보여줍니다.

/ usr / lib / cron / run-crons (코드 줄이있을 수 있음)는 / etc / sysconfig / cron에서 DAILY_TIME 변수를 찾고 있습니다.

파일이 표시됩니다.

# At which time cron.daily should start. Default is 15 minutes after booting
# the system. Example setting would be "14:00".
# Due to the fact that cron script runs only every 15 minutes,
# it will only run on xx:00, xx:15, xx:30, xx:45, not at the accurate time
# you set.

DAILY_TIME=""

필요한 시간으로 설정하고 cron을 통해 다시 시작하십시오.

systemctl restart cron.service
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.