/etc/cron.hourly, /etc/cron.daily 등의 스크립트가 자동으로 실행됩니까?

/etc/cron.hourly, /etc/cron.daily 등의 스크립트가 자동으로 실행됩니까?

항목이 /etc/cron.d/자동으로 수행된다는 것을 알고 있습니다. 그런데 나도 이런 걸 발견했어/etc/

/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
/etc/cron.weekly/

/etc/cron.d/나는 다음과 같은 것을 발견했습니다 0hourly.

01 * * * * root run-parts /etc/cron.hourly

또는 이름의 파일 이 없습니다 *daily.*monthly*weekly

/etc/cron.hourly여기에 스크립트를 추가하면 자동으로 실행된다는 뜻인가요 ? /etc/cron.daily, 및 의 스크립트 에서는 /etc/cron.monthly/이런 일이 발생하지 않습니까 /etc/cron.weekly/?

편집하다:

/etc/crontabMy는 초기화된 변수 SHELL, PATH및 를 제외하고는 비어 있습니다.MAILTO

/etc/cron.hourly/제가 찾은 스크립트는 오늘 실행되었는지 0anacron확인하는 것 같습니다 . cron.daily나는 또한 /etc/anacron이것이 포함되어 있음을 발견했습니다:

# /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

독서를 좀 하게 해준 것 같아요. 특히 anacron(8)그리고 anacrontab(5).

답변1

CentOS는 이 점에서 Ubuntu와 매우 유사해 보이지만 구성이 약간 다릅니다. Ubuntu는 anacron을 사용하여 일일/주간/월간 작업을 실행하며 /etc/crontab및 에 구성 됩니다 /etc/anacrontab.

CentOS의 경우 먼저 다음이 있습니다.

# cat /etc/cron.hourly/0anacron
#!/bin/sh
# Check whether 0anacron was run today already
if test -r /var/spool/anacron/cron.daily; then
    day=`cat /var/spool/anacron/cron.daily`
fi
if [ `date +%Y%m%d` = "$day" ]; then
    exit 0;
fi

# Do not run jobs when on battery power
if test -x /usr/bin/on_ac_power; then
    /usr/bin/on_ac_power >/dev/null 2>&1
    if test $? -eq 1; then
    exit 0
    fi
fi
/usr/sbin/anacron -s

하루에 한 번 anacron을 확인/실행한 후:

# 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

매일, 매주, 매월 crontab이 구성됩니다.

관련 정보