소개
Cronical은 .NET 기반의 크론 데몬으로, Windows 환경에서 백그라운드 작업을 예약하고 서비스형 프로세스를 실행하기 위해 설계된 오픈 소스 소프트웨어입니다. Unix의 crond와 유사한 기능을 Windows에서도 간편하게 사용할 수 있도록 만들어졌으며, 기존 Windows 서비스 및 예약된 작업을 더 유연하고 안정적으로 대체할 수 있습니다.瑞典의 Ciceronen Telecom AB에서 개발되었으며 Apache 2.0 라이선스로 공개되었습니다.
상세정보
작업 스케줄링
텍스트 기반 설정 파일(cronical.dat)을 사용하여 작업을 정의하고 예약할 수 있습니다. 작업이 놓친 경우 마지막 실행 시간을 레지스트리에 기록하고, 재시작 시 놓친 작업을 확인하여 실행하는 기능(RunMissedJobs)을 지원합니다.
서비스 관리
실행 중인 프로세스를 감시하고, 갑자기 중단되면 자동으로 재시작하는 기능을 제공합니다. 서비스 종료 시 WM_CLOSE, WM_QUIT 메시지 및 CTRL-BREAK 주입 등 다양한 방법을 사용하여 안전하게 종료를 시도합니다.
로깅 및 설정
기본적으로 cronical-YYYY-MM.log 형식의 월별 로그 파일을 생성하며, cronical.exe.config 파일에서 로그 경로, 유지 기간 등을 설정할 수 있습니다. 설정 파일 변경 시 자동으로 감지하여 재로드합니다.
다운로드·설치 방법
Cronical은 .NET Framework 4.7.2 이상이 설치된 Windows 환경에서 동작합니다. GitHub 저장소에서 최신 릴리스의 Cronical.exe와 Cronical.exe.config 파일을 다운로드한 후 원하는 디렉토리에 복사하면 됩니다.
서비스로 설치하려면 관리자 권한이 있는 콘솔에서 다음 명령어를 실행합니다:
크로니컬을 서비스로 설치하려면 관리자 권한으로 실행되는 콘솔에서 ‘cronical.exe –install’ 명령어를 사용합니다. 이후 Windows 서비스 관리자에서 시작하거나 ‘net start cronical’ 명령어로 시작할 수 있습니다. 같은 시스템에 여러 인스턴스를 설치할 때는 ‘–service-name’과 ‘–service-title’ 매개변수를 사용하여 각각 다른 서비스 이름과 설정 파일을 지정할 수 있습니다.
기본 사용법/명령어
Cronical은 주로 서비스로 실행되지만, 콘솔 모드로 직접 실행하여 디버깅할 수도 있습니다. ‘cronical –console –debug’ 명령어는 서비스 설치 없이 바로 실행되며 화면에 모든 출력을 표시합니다.
설정 파일(cronical.dat)은 ‘#’으로 주석을 달 수 있으며, 실제 명령어에서 ‘#’을 사용하려면 백슬래시로 이스케이프해야 합니다(‘#’). 각 작업별로 시작 디렉터리(Home=), 타임아웃(Timeout), 이메일 알림(MailTo=) 같은 지시어를 설정할 수 있습니다.
이런 경우에 유용합니다
기존 Windows 예약된 작업이나 서비스가 복잡하거나 불안정할 때 대안으로 사용할 수 있습니다. 여러 애플리케이션의 백그라운드 워커 프로세스를 하나의 통합된 시스템으로 관리하고 싶을 때 유용하며, 설정 파일 변경이 자동으로 적용되어 재구성 없이 작업을 추가하거나 수정할 수 있습니다.
지원 환경·시스템 요구사항
Microsoft .NET Framework 4.7.2 이상이 설치된 Windows 시스템에서 실행됩니다. Chocolatey 패키지 매니저를 통해 설치할 수 있습니다.
최신 버전·업데이트
현재 안정적인 최신 릴리스 버전은 1.3입니다. 현재 적극적인 개발은 이루어지고 있지 않지만, 여전히 널리 사용되고 있으며 풀 리퀘스트는 환영합니다.
제한 사항·확인 사항
현재 프로젝트는 적극적인 개발 상태가 아닙니다. 새로운 기능 추가보다는 기존 안정적인 동작 유지에 중점을 두고 있습니다.
시스템 요구사항
Microsoft .NET Framework 4.7.2 이상


