본문으로 건너뛰기
로그인 둘러보기
시스템·유틸리티 · 윈도우즈 유틸

Cronical

0

Cronical은 .NET 기반의 크론 데몬으로, Windows 환경에서 백그라운드 작업을 예약하고 서비스형 프로세스를 실행하기 위해 설계된 오픈 소스 소프트웨어입니다.

백그라운드 작업서비스 관리스케줄링예약된 작업오픈소스크론

소개

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 이상