> 패키지 및 시스템 관리 > anacron

anacron: 시스템 부팅 후 주기적인 작업 실행

anacron은 시스템이 항상 켜져 있지 않은 환경(예: 노트북, 데스크톱)에서 주기적인 작업을 실행하도록 설계된 유틸리티입니다. 시스템이 꺼져 있는 동안 놓친 작업을 시스템이 다시 부팅되거나 깨어날 때 실행하여 작업 누락을 방지합니다. 이는 `cron`과 유사하지만, 시스템 가동 시간에 구애받지 않는 유연성을 제공합니다.

개요

anacron은 `/etc/anacrontab` 파일에 정의된 작업을 하루, 주, 월 단위로 실행합니다. 시스템이 꺼져 있어 작업 실행 시점을 놓쳤을 경우, 시스템이 다시 시작될 때 해당 작업을 실행하여 작업 누락을 방지합니다. 이는 서버와 같이 24시간 가동되는 시스템에 적합한 `cron`과는 차별화됩니다.

주요 특징

  • 시스템 비가동 시 작업 누락 방지
  • 정해진 주기(일/주/월)로 작업 실행
  • 로그 파일 기반으로 마지막 실행 시간 추적
  • 주로 데스크톱 및 노트북 환경에서 유용

주요 옵션

anacron 명령어와 함께 사용되는 주요 옵션들입니다.

실행 제어

설정/정보

생성된 명령어:

명령어를 조합해 보세요.

설명:

`anacron` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

anacron을 사용하는 몇 가지 일반적인 예시입니다.

anacron 수동 실행

sudo anacron -s

anacrontab에 정의된 모든 작업을 수동으로 실행합니다. 시스템 부팅 시 자동으로 실행되지만, 필요에 따라 수동으로 트리거할 수 있습니다.

anacrontab 파일 확인

cat /etc/anacrontab

anacron 작업이 정의된 설정 파일을 확인합니다.

디버그 모드로 실행

sudo anacron -d

anacron이 어떤 작업을 실행하고 있는지 자세한 정보를 확인하기 위해 디버그 모드로 실행합니다.

작업 실행 없이 타임스탬프만 업데이트

sudo anacron -u

실제로 작업을 실행하지 않고, anacron이 마지막으로 작업을 실행한 시간을 현재로 업데이트합니다. 이는 특정 작업을 건너뛰고 싶을 때 유용합니다.

설치

anacron은 대부분의 리눅스 배포판에서 `cronie` 또는 `vixie-cron` 패키지의 일부로 기본 설치되어 있습니다. 만약 설치되어 있지 않다면 다음 명령어를 사용하여 설치할 수 있습니다.

Debian/Ubuntu 기반

sudo apt update && sudo apt install cronie

apt 패키지 관리자를 사용하여 `cronie` 패키지를 설치합니다.

RHEL/CentOS/Fedora 기반

sudo dnf install cronie
# 또는
sudo yum install cronie

dnf 또는 yum 패키지 관리자를 사용하여 `cronie` 패키지를 설치합니다.

팁 & 주의사항

anacron 사용 시 유용한 팁과 주의할 점입니다.

주요 설정 파일 및 디렉토리

anacron의 동작을 제어하는 주요 파일과 디렉토리입니다.

  • /etc/anacrontab: anacron 작업의 주기, 지연 시간, 작업 식별자 및 실행할 명령어가 정의된 메인 설정 파일입니다.
  • /var/spool/anacron/: 각 작업의 마지막 실행 시간을 기록하는 타임스탬프 파일이 저장되는 디렉토리입니다. 이 파일을 통해 anacron은 작업 누락 여부를 판단합니다.

cron과의 차이점

`cron`은 시스템이 항상 켜져 있을 때 정해진 시간에 작업을 실행하지만, `anacron`은 시스템이 꺼져 있어 작업을 놓쳤을 경우 시스템 부팅 후 지연 시간(delay)을 거쳐 실행합니다. 따라서 노트북이나 데스크톱 환경과 같이 시스템이 항상 가동되지 않는 환경에 더 적합합니다. `anacron`은 `cron`과 함께 사용될 수 있으며, `cron`은 `anacron`을 주기적으로 실행하여 놓친 작업을 확인하도록 설정될 수 있습니다.

anacrontab 파일 구성

`anacrontab` 파일의 각 줄은 `period delay job-identifier command` 형식으로 구성됩니다.

  • period: 작업의 실행 주기 (예: 1 for daily, 7 for weekly, @monthly for monthly).
  • delay: 시스템 부팅 후 작업을 실행하기 전 대기할 시간(분)입니다. 시스템 부하를 줄이는 데 도움이 됩니다.
  • job-identifier: 작업을 식별하는 고유한 문자열입니다. 이 이름으로 `/var/spool/anacron/`에 타임스탬프 파일이 생성됩니다.
  • command: 실제로 실행될 셸 명령어입니다.

동일 카테고리 명령어