crontab을 사용하여 일부 작업을 예약합니다.
cron이 무언가를하도록 예약 된 시간 동안 컴퓨터가 종료되거나 꺼지면 어떻게됩니까?
컴퓨터를 켠 후 누락 된 각 cron 작업이 실행됩니까? 아니면 해당 날짜의 누락 된 작업이 무시됩니까? 누락 된 작업이 다시 시작되지 않으면 컴퓨터를 다시 켠 후 누락 된 작업을 실행하도록 cron을 구성 할 수있는 방법이 있습니까?
crontab을 사용하여 일부 작업을 예약합니다.
cron이 무언가를하도록 예약 된 시간 동안 컴퓨터가 종료되거나 꺼지면 어떻게됩니까?
컴퓨터를 켠 후 누락 된 각 cron 작업이 실행됩니까? 아니면 해당 날짜의 누락 된 작업이 무시됩니까? 누락 된 작업이 다시 시작되지 않으면 컴퓨터를 다시 켠 후 누락 된 작업을 실행하도록 cron을 구성 할 수있는 방법이 있습니까?
답변:
컴퓨터가 종료되거나 cron 데몬이 실행되고 있지 않으면 cron 작업이 시작되지 않습니다.
컴퓨터가 종료 된 시간 동안 사실 이후에 실행하려는 작업이있는 경우 anacron을 사용하십시오. 기본적으로 설치됩니다. 자세한 내용은 "man anacron", "man anacrontab"또는 / etc / anacrontab 파일을 참조하십시오.
우분투는 다음의 crontab 항목에 기본적으로 anacron을 사용합니다.
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
나머지 크론 탭을 메인 크론 데몬이 처리하도록 남겨 두십시오.
/etc/crontab
/etc/cron.d
/var/spool/cron
노트
Anacron 자체는 데몬으로 실행되지 않지만 시스템 시작 스크립트와 cron 자체를 사용하여 실행됩니다.
우분투 8.04 상자에서 부팅시 /etc/init.d/anacron이 실행되고 매일 아침 07:30에 cron이 실행됩니다.
/usr/share/doc/anacron/README.gz의 README는 맨 페이지에 포함 된 것보다 약간 더 많은 정보를 가지고 있습니다.
실시 예
간단한 "daily", "weekly", "monthly"작업의 경우 위의 /etc/cron.{daily|weekly|monthly} 디렉토리 중 하나에 스크립트의 사본 또는 심볼릭 링크를 넣으십시오. Anacron은 매일 / 매주 / 매월 실행하도록 관리하며 "주간"스크립트가 정상적으로 실행되는 날에 컴퓨터가 꺼져 있으면 다음에 컴퓨터를 켤 때 실행됩니다.
다른 예로, 여기에 스크립트가 있다고 가정하면 /usr/local/sbin/maint.sh
그리고 3 일마다 실행하려면 / etc / crontab의 표준 항목은 다음과 같습니다.
# m h dom mon dow user command
0 0 */3 * * root /usr/local/sbin/maint.sh
매월 3 일 00:00에 컴퓨터가 켜져 있지 않으면 작업은 6 일까지 실행되지 않습니다.
컴퓨터가 꺼져 있고 3 일에 실행을 "누락"할 때 작업이 4 일에 실행되도록하려면 / etc / anacrontab에서이를 사용하십시오 (/ etc / crontab에서 행을 제거하는 것을 잊지 마십시오).
# period delay job-identifier command
3 5 maint-job /usr/local/sbin/maint.sh
위의 "5"의 "지연"은 anacron이이 작업을 실행하기 전에 5 분 동안 대기 함을 의미합니다. 부팅시 anacron이 즉시 물건을 발사하지 못하게하는 것이 좋습니다.
anacron
설치하십시오 cronie-anacron
.