분류 기타

Linux에서 cron에 대한 4가지 대안

컨텐츠 정보

  • 조회 596 (작성일 )

본문

cron과 함께 또는 cron 대신 사용할 수 있는 몇 가지 다른 오픈 소스 프로젝트가 있습니다.


Linux 크론 시스템은 오랜 시간 동안 검증되고 검증된 기술입니다. 그러나 항상 시스템 자동화에 적합한 도구는 아닙니다. 

cron과 함께 또는 cron 대신 사용할 수 있는 몇 가지 다른 오픈소스 프로젝트가 있습니다.


명령에 따른 리눅스 


Cron은 장기 반복을 위한 것입니다. 작업을 예약하면 지금부터 컴퓨터가 사용 중지될 때까지 정기적으로 실행됩니다. 가끔은 컴퓨터에 없을 때 실행되도록 일회성 명령을 예약하고 싶을 때가 있습니다. 이를 위해 at 명령어를 사용할 수 있습니다.


at의 구문은 cron 구문보다 훨씬 간단하고 유연하며 예약을 위한 대화형 및 비대화형 방법이 모두 있습니다(원하는 경우 at을 사용하여 at 작업을 만들 수 있음).


echo "rsync -av /home/tux/ me@myserver:/home/tux/" | at 1:30 AM 


자연스럽고 사용하기 쉬우며 한 번 실행하면 완전히 잊어버리기 때문에 오래된 작업을 정리할 필요가 없습니다.


시작하려면 at 명령어에 대해 자세히 알아보세요.


Systemd 


컴퓨터에서 프로세스를 관리하는 것 외에도 systemd는 프로세스를 예약하는 데 도움이 될 수 있습니다.

기존 cron 작업과 마찬가지로 systemd 타이머는 지정된 시간 간격으로 셸 스크립트 및 명령과 같은 이벤트를 트리거할 수 있습니다.

특정 날짜에 하루에 한 번(예: 월요일인 경우에만) 또는 09:00에서 17:00 사이의 업무 시간 동안 15분마다 할 수 있습니다.


타이머는 또한 cron 작업이 할 수 없는 몇 가지 작업을 수행할 수 있습니다.


예를 들어 타이머는 부팅, 시작, 이전 작업 완료 또는 타이머 자체에 의해 호출된 서비스 단위의 이전 완료와 같은 이벤트가 발생한 후 특정 시간 동안 스크립트나 프로그램을 실행하도록 트리거할 수 있습니다.


시스템이 systemd를 실행한다면 기술적으로 이미 systemd 타이머를 사용하고 있는 것입니다. 기본 타이머는 로그 파일 회전, mlocate 데이터베이스 업데이트, DNF 데이터베이스 관리 등과 같은 사소한 작업을 수행합니다. 자신만의 것을 만드는 것은 쉽습니다. David Both의 기사 Use systemd timers for cronjobs에서 설명했습니다.


Anacron 


Cron은 특정 시간에 명령을 실행하는 데 특화되어 있습니다. 이것은 최대 절전 모드나 전원이 꺼지지 않는 서버에 적합합니다. 그래도 랩톱 및 데스크톱 워크스테이션에서 의도적으로 또는 무심코 컴퓨터를 끄는 것은 매우 일반적입니다. 컴퓨터가 켜져 있지 않으면 cron이 실행되지 않으므로 데이터 백업과 같은 중요한 작업을 건너뜁니다.


anacron 시스템은 작업이 일정에 따라 실행되지 않고 주기적으로 실행되도록 설계되었습니다. 즉, 컴퓨터를 며칠 동안 꺼둔 상태에서 다시 부팅할 때 필수 작업을 실행하기 위해 aacron에 의존할 수 있습니다. Anacron은 cron과 함께 작동하므로 엄밀히 말하면 cron의 대안은 아니지만 작업을 예약하는 의미 있는 대안입니다.

많은 시스템 관리자가 원격 작업자의 컴퓨터에서 늦은 밤에 데이터를 백업하도록 cron 작업을 구성했지만 작업이 지난 6개월 동안 한 번만 실행되었다는 것을 발견했습니다. Anacron은 중요한 작업이 예정된 시간에 발생하지 않고 할 수 있는 경우에 발생하도록 합니다.


더 나은 crontab을 위해 anacron을 사용하는 방법에 대해 자세히 알아보세요.


Automation 


컴퓨터와 기술은 더 나은 삶과 더 쉽게 일할 수 있도록 만들어졌습니다. Linux는 중요한 운영 체제 작업을 완료할 수 있도록 사용자에게 많은 유용한 기능을 제공합니다. 사용 가능한 기능을 살펴보고 이러한 기능을 자신의 작업에 사용하십시오.