24.2. Anacron을 사용하여 반복된 비동기 작업 예약
Anacron
(예: cron
)은 정기적으로 작업(작업이라고도 함)을 예약할 수 있는 서비스입니다. 그러나 anacron
은 두 가지 방법으로 cron
과 다릅니다.
-
시스템이 예약된 시간에 실행되지 않으면 시스템이 실행될 때까지
anacron
작업이 연기됩니다. -
anacron
작업은 대부분 하루에 한 번 실행할 수 있습니다.
사용자는 anacrontab
파일라고도 하는 anacron 테이블 파일에서 anacron 작업을 지정합니다. 그런 다음 이러한 파일은 작업을 실행하는 crond
서비스에서 읽습니다.
24.2.1. Anacrob 작업에 대한 사전 요구 사항
anacron
작업을 예약하기 전에 다음을 수행합니다.
cronie-anacron 패키지가 설치되어 있는지 확인합니다.
~]# rpm -q cronie-anacron
cronie-anacron 은 cronie 패키지의 하위 패키지이므로 이미 설치되어 있을 수 있습니다. 설치되지 않은 경우 다음 명령을 사용하십시오.
~]# yum install cronie-anacron
crond
서비스가 활성화되어 있습니다. - 설치 시 부팅 시 자동으로 시작됩니다. 서비스를 비활성화한 경우 다음을 활성화합니다.~]# systemctl enable crond.service
현재 세션에 대해
crond
서비스를 시작합니다.~]# systemctl start crond.service
(선택 사항) anacron 을 구성합니다. 예를 들어 다음과 같이 변경할 수 있습니다.
- 작업 실행 시 사용할 쉘
-
PATH
환경 변수 이메일 주소: 작업이 이메일을 보내는 경우.
anacron
.acron 구성에 대한 자세한 내용은 anacrontab(5) 매뉴얼 페이지를 참조하십시오.
기본적으로 anacron 구성에는 컴퓨터가 연결되지 않은 경우 실행되지 않는 조건이 포함됩니다. 이 설정을 사용하면 anacron 작업을 실행하여 배터리가 드레이닝되지 않습니다.
컴퓨터가 배터리 전원으로 실행되는 경우에도 anacron을 실행하도록 허용하려면 /etc/cron.hourly/0anacron
파일을 열고 다음 부분을 주석 처리합니다.
# Do not run jobs when on battery power online=1 for psupply in AC ADP0 ; do sysfile="/sys/class/power_supply/$psupply/online" if [ -f $sysfile ] ; then if [ `cat $sysfile 2>/dev/null`x = 1x ]; then online=1 break else online=0 fi fi done
24.2.2. Anacron 작업 예약
anacron 작업 루트 사용자로 예약
루트
사용자는 /etc/anacrontab
의 anacron 테이블을 사용합니다. 다음 절차에 따라 작업을 root
로 예약합니다.
anacron 작업 루트
사용자로 예약
선택 사항:
-
작업을 실행하는 빈도입니다. 예를 들어
1
을 사용하여 매일 또는3
을 지정하여 3일 내에 한 번 지정합니다. -
작업 실행의 지연입니다. 예를 들어
0
을 사용하여 지연 없음 또는60
을 지정하여 1시간 지연을 지정합니다. -
로깅에 사용할 작업 식별자입니다. 예를 들어
my.anacron.job
을 사용하여my.anacron.job
문자열로 작업을 기록합니다. 실행할 명령입니다. 예를 들어
/usr/local/bin/my-script.sh
를 사용하십시오.선택한 값을 작업 사양에 결합합니다. 다음은 예제 사양입니다.
3 60 cron.daily /usr/local/bin/my-script.sh
-
작업을 실행하는 빈도입니다. 예를 들어
-
결과 행을
/etc/anacrontab
에 추가합니다.
이제 작업이 예약된 대로 실행됩니다.
간단한 작업 예제는 /etc/anacrontab
파일을 참조하십시오. 작업을 지정하는 방법에 대한 전체 참조는 anacrontab(5) 매뉴얼 페이지를 참조하십시오.
일정 시간(Hourly, day, Weekly, Monthly)
anacron 을 사용하여 daily, weekly, monthly 작업을 예약할 수 있습니다. “일정 시간(Hourly, day, Weekly, Monthly)”을 참조하십시오.