Cron은 Linux 및 유닉스 기반 운영 체제의 필수 유틸리티로, 지정된 간격 또는 시간에 자동으로 실행되도록 작업을 예약하는 작업 스케줄러 역할을 합니다. 이 기능은 수동 개입 없이 반복적인 작업을 실행하여 효율성과 생산성을 높이는 데 특히 유용합니다. 크론 패키지는 일반적으로 모든 Linux 배포판에 기본적으로 포함되어 있으므로 초보자와 숙련된 사용자 모두 쉽게 액세스할 수 있고 사용자 친화적입니다.
Cron이 최적으로 작동하려면 시스템에서 정기적으로 기능을 확인하는 것이 필수적입니다. 이를 수행할 수 있는 방법에는 Cron 서비스 상태 검사, Cron과 관련된 로그 파일 검토, 시뮬레이션된 Cron 작업 실행, 시스템에서 현재 활성 상태인 프로세스 열거 등 여러 가지가 있습니다.
크론이란?
Cron은 사용자가 컴퓨터 시스템 내에서 예약된 작업을 자동으로 실행할 수 있는 도구입니다. 이 유틸리티를 사용하면 소프트웨어 플랫폼의 관리 및 보존을 담당하는 개인이 “크론 작업”이라고 하는 명령줄 작업 및 스크립트 프로세스를 포함한 반복적인 활동을 프로그래밍할 수 있습니다. 이러한 작업은 미리 정해진 기간 또는 간격으로 수행되도록 설정할 수 있습니다.
Cron은 최적의 성능을 위해 자주 필요할 수 있는 반복적인 시스템 유지 관리 및 관리 작업을 자동화할 수 있는 스케줄링 유틸리티입니다.
Linux 시스템용 Cron 구현은 여러 가지가 있으며, 특정 배포에 따라 사용 가능 여부가 다릅니다. 예를 들어, 널리 사용되는 빅시 크론은 개발자인 폴 빅시의 이름을 따서 만든 것으로, 기본 옵션으로 제공되며, 데비안 및 우분투 배포판 사용자들이 많이 선택합니다. 반대로 Arch 운영 체제는 Cron을 아예 사용하지 않는 대신 예약된 작업을 관리하는 데 선호하는 방법으로 Systemd 타이머를 사용합니다.
크론은 잘 알려진 빅시 크론 애플리케이션을 변형한 것으로, 시스템의 기본 패키지 관리자 팩맨을 사용하여 사전 패키지된 Arch Linux 모듈 형태로 편리하게 구할 수 있습니다. 이 대체 시간 스케줄러를 운영 체제에 성공적으로 통합하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행하기만 하면 됩니다:
sudo pacman -S cronie
센서나 소셜 미디어 플랫폼 등 다양한 소스의 데이터를 쉽게 분석할 수 있는 형식으로 변환하는 과정을 데이터 전처리라고 합니다. 여기에는 원시 데이터를 정리하고 구성하여 오류나 불일치를 제거하고 분석할 수 있도록 준비하는 작업이 포함됩니다. 데이터 전처리에는 일반적으로 중복 제거, 누락된 값 처리, 데이터 유형 변환과 같은 작업이 포함됩니다.이러한 단계를 수행함으로써 분석가는 고급 분석 기법으로 넘어가기 전에 데이터가 정확하고 신뢰할 수 있는지 확인할 수 있습니다.
sudo systemctl start cronie.service
sudo systemctl enable cronie.service
운영 체제에 설치된 cron의 특정 반복을 확인하려면 해당 설명서 페이지를 참조하여 이 정보를 확인할 수 있습니다.
man cron
Linux에서 크론이 작동하는지 확인하는 방법
크론 유틸리티가 올바르게 작동하는지 확인하기 위해 사용할 수 있는 몇 가지 방법이 있습니다.
Linux에서 크론 서비스 상태 확인
크론 유틸리티가 올바르게 작동하는지 확인하려면 터미널에서 간단한 Linux 명령을 실행할 수 있습니다. 터미널에 액세스하려면 키보드에서 “Ctrl + Alt + T” 키 조합을 누르세요. 그런 다음 “systemctl” 명령을 사용하여 크론 서비스의 현재 상태를 검사합니다.
sudo systemctl status cron
앞서 언급한 출력이 있으면 cron 유틸리티가 시스템에서 올바르게 작동하고 효율적으로 작동하고 있음을 나타냅니다.
그러나 Cron이 현재 휴면 상태이거나 비활성화 된 상태라고 가정하면이 문제를 어떻게 해결할 수 있습니까?
물론 서비스를 시작하도록 기꺼이 도와드리겠습니다. 시작하려면 다음 단계를 따르세요:
sudo systemctl start cron.service
시스템 시작 시 크론 서비스가 자동으로 실행되도록 하려면 작업을 시작한 후 다음 단계를 따르세요:
sudo systemctl enable cron.service
Linux에서 크론 로그 확인
Cron이 올바르게 작동하는지 확인하는 또 다른 방법은 일반적으로 Linux 기반 시스템의 /var/log/syslog 폴더에 보관되는 관련 로그 파일을 면밀히 조사하는 것입니다.
Syslog는 Linux 기반 시스템에서 이벤트 로그 데이터를 중앙 집중식 저장소에 통합하기 위해 사용하는 통신 프로토콜입니다. 이러한 중앙 집중화는 성능 평가, 감시, 장애 해결, 문서 생성 등과 같은 다양한 필수 IT 운영을 용이하게 합니다.
크론 작업 레코드가 포함된 시스템 로그를 보려면 syslog 파일에 액세스하는 특정 명령을 실행할 수 있습니다.
grep 'cron' /var/log/syslog
정상 작동을 확인할 수 있으며, 이는 스케줄링 프로그램 ‘cron’이 적절하게 작동하고 있으며 해당 로그가 지정된 로그 파일에 효과적으로 기록되고 있음을 나타냅니다.
SySLOG 디렉터리에 포함된 보다 포괄적인 시스템 로그 내에서 Cron 관련 로그를 분리하여 분석하는 데 약간의 어려움이 있을 수 있습니다.그러나 이 문제는 원래 SySLOG 파일에서 발견되는 Cron과 관련된 특정 항목을 캡처하고 보존하는 데만 전용인 추가 로그 파일을 생성하여 효과적으로 해결할 수 있습니다.
이 데모에서는 나노 편집기를 사용했지만, 사용자의 선호도와 숙련도에 맞는 텍스트 편집기를 사용해도 좋습니다.
Linux의 명령줄 인터페이스(CLI)에서 특정 파일에 액세스하고 편집하려면 “나노” 텍스트 편집기를 사용할 수 있습니다. 이렇게 하려면 다음 단계를 따르세요: 1. Ubuntu/Linux Mint에서는 `Ctrl + Alt + T`를, Windows에서는 `Windows 키 + R`을 눌러 터미널 또는 명령 프롬프트를 연 다음 실행 대화 상자에 “cmd”를 입력하고 Enter 키를 누릅니다. 또는 Windows 10을 실행 중인 경우 PowerShell을 열 수 있습니다. 2. 적절한 명령을 입력하여 원하는 파일이 있는 디렉토리로 이동합니다. 예를 들어 파일이 문서 폴더에 있는 경우 `cd 문서`를 입력합니다. 파일이 다른 폴더에 있는 경우 `cd 다운로드` 다음에 `cd 하위 폴더 이름`과 같은 일련의 명령을 입력합니다.
nano /etc/rsyslog.d/50-default.conf
고양이는 매트 위에 앉아 만족스럽게 발을 핥고 있습니다.
#cron.*
다음 명령어에서 해시 기호(#)를 제거하여 활성화하세요: 파일을 저장하고 종료하려면 필요한 변경을 수행한 후 다음 단계를 따르세요. 먼저 커서 또는 키보드 단축키를 사용하여 문서의 모든 텍스트를 선택합니다. 그런 다음, ‘저장’ 버튼이 있는 화면 왼쪽 상단 모서리로 이동합니다. 마우스로 버튼을 클릭하거나 키보드를 사용해 명령을 실행합니다. 그러면 저장할 파일의 위치와 이름을 선택할 수 있는 메뉴가 나타납니다. 또는 이미 기본 폴더를 지정한 경우 ‘저장’을 클릭하기 전에 문서 제목 등 추가 정보를 입력할 수 있는 팝업 창이 나타날 수 있습니다. 이 작업을 완료한 후
에서 문자 “X”와 함께 “Ctrl” 키를 누릅니다. rsyslog 서비스를 다시 시작하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행할 수 있습니다: “`arduino sudo systemctl restart rsyslog
sudo service rsyslog restart
앞서 언급한 로그 항목은 지정된 저장소를 포함하는 시간순 기록에 문서화되며, “/var/log/cron.log”로 지정됩니다.
터미널에서 로그 데이터를 검색할 수 없는 경우, 이는 cron 실행에 문제가 있음을 나타낼 수 있습니다. cron이 제대로 작동하는지 여부를 확인하려면 다른 확인 수단을 활용해야 할 수 있습니다.
Linux에서 크론 작업 실행
크론 유틸리티가 효과적으로 작동하는지 확인하려면 시험용 크론 작업을 만들어 실행해 볼 수 있습니다.할당된 작업이 성공적으로 완료되면 크론 서비스가 문제 없이 실행되고 있음을 확인합니다.
Linux 시스템에서 자동화된 작업을 실행하려면 사용자가 이 플랫폼에서 일상적인 작업을 간소화할 수 있는 Bash 스크립팅의 기능을 활용하여 Bash 스크립트를 개발해야 합니다.
현재 작업 디렉터리에 “cronjob이 작동 중입니다!”라는 메시지가 포함된 텍스트 파일을 생성하려면 파일을 생성하기 전에 Bash 스크립트를 활용하여 현재 작업 디렉터리를 확인할 수 있습니다. 이를 수행하는 한 가지 방법은 다음 명령을 실행하는 것입니다: “`bash 읽기 전용 현재_작업_디렉토리=$(pwd) echo “크론잡이 작동 중!” > “${CURRENT_WORKING_DIRECTORY}/working-directory.txt” “` pwd` 명령은 현재 작업 디렉터리를 출력하고, 이 디렉터리는 `CURRENT_WORKING_DIRECTORY`라는 환경 변수로 저장됩니다. 두 번째 코드 줄은 문자열 보간을 사용하여 “cronjob이 작동 중입니다!”라는 메시지를 `working-directory.txt`라는 새 파일에 기록하여
pwd
“touch” 명령을 사용하여 기존 디렉터리 내에 새 파일을 생성하는 것은 기존 콘텐츠가 없는 새 문서를 설정하는 효율적인 방법입니다.
touch file.txt
이전 단계에 따라 Nano 텍스트 편집기를 열고 메모리에 있는 스크립트 내용을 붙여넣으면 현재 디렉터리에 “myscript”라는 Bash 스크립트를 생성할 수 있습니다. 스크립트 편집이 끝나면 저장하고 Nano 애플리케이션을 종료합니다.
nano script.sh
1. 소개 2. 문서의 목적 3. 범위 및 제한 사항 4. 정의, 약어 및 약어 5. 참고 자료 6. 역할 및 책임 7. 정책 및 절차 8. 교육 요구 사항 9. 접근 통제 조치 10. 보안 사고 관리
#! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt
컴퓨터 또는 기기의 적절한 폴더에서 “file\_location.txt”라는 이름의 파일을 찾아주세요. 이 문서를 저장하고 종료하려면 Control + X, Y, 마지막으로 Enter로 구성된 키보드 단축키 조합을 누르세요.
Bash 스크립트에 실행 권한을 부여하려면 +x 옵션과 함께 chmod 명령을 사용할 수 있습니다. 이렇게 하면 파일을 프로그램으로 실행하거나 터미널에서 실행할 수 있습니다. 예를 들어 스크립트 이름이 “myscript.sh”인 경우 터미널에 다음 명령을 입력합니다: “`bash chmod +x myscript.sh
chmod +x script.sh
Linux의 기본 제공 스케줄러인 “cron”을 사용하여 정기적으로 Python 스크립트의 실행을 예약하려면 다음 단계를 따르세요: 1. 터미널을 열고 `crontab -e` 명령을 입력하여 기본 텍스트 편집기에서 사용자의 크론탭 파일을 편집합니다. 2. 메시지가 표시되면 시스템 관리자가 제공한 목록에서 편집기(예: nano 또는 vim)를 선택합니다. 3.편집기에 들어가면 파일 끝에 다음 형식의 새 줄을 추가합니다: “`bash * * * * * /usr/bin/python3 /path/to/your/script.py “` 이 줄은 스크립트가 매분마다 실행되도록 지정합니다(임의의 값을 의미하는 와일드카드 \* 사용).
crontab -e
이 문서의 마지막에 다음 문장을 삽입하세요.
* * * * * /path/to/script.sh
다섯 개의 별표가 순차적으로 배열된 것은 타임스탬프에 해당하며, 첫 번째 별표는 0에서 59까지의 분을 의미하고, 그 이후의 각 별표는 점차 더 포괄적인 측정 단위를 나타냅니다. 특히 두 번째 별표는 24시간 형식으로 시간을 나타내며, 오후 1시는 13시에 해당하고 자정은 0시에 시작됩니다. 세 번째 별표는 0에서 6까지의 범위를 포함하는 요일을 나타내며, 0과 6은 모두 일요일을 나타냅니다. 네 번째 별표는 0~7 범위의 월을 나타내며, 0과 7은 각각 1월과 7월에 해당합니다. 마지막으로
파일 이름과 해당 경로는 실행 파일에 관한 정보를 포함하여 파일 자체 내에 표시됩니다.
지정된 크론 작업 파일을 성공적으로 저장하고 닫으면 새로 설치된 크론 탭이 추가되었음을 나타내는 화면 알림이 표시됩니다.
예약된 작업이 성공적으로 실행되었는지 확인하려면 ‘cat’ 유틸리티를 사용하여 file.txt가 포함된 폴더로 이동하고 명령줄 인터페이스를 통해 해당 내용을 표시합니다:
cat file.txt
이것은 크론 시스템이 예상대로 작동하고 있음을 시사합니다.
Linux에서 실행 중인 프로세스 확인
운영 체제 내에서 현재 활성 상태인 프로세스 목록을 검사하여 크론 데몬의 기능을 확인할 수도 있습니다. 이 작업은 “ps” 명령을 사용하여 수행할 수 있습니다. 이러한 열거에서 크론 데몬의 존재 여부는 “크론”으로 표시됩니다.
ps aux | grep cron
앞서 언급한 확인은 Linux 기반 컴퓨팅 환경 내에서 Cron 프로세스가 작동하고 있음을 나타냅니다.
cron으로 시스템 작업 자동화 및 예약
Cron은 Linux 시스템 운영에서 중요한 유틸리티로, 시스템이 최적으로 작동할 수 있도록 합니다. 시스템 문제가 발생하면 문제 해결 프로세스의 일부로 크론의 기능을 평가해야 할 수 있습니다.
크론 서비스가 제대로 작동하는지 확인하기 위해 몇 가지 방법을 사용할 수 있습니다. 한 가지 방법은 로그 파일에서 예약된 작업에 관한 관련 정보를 검사하는 것입니다.또 다른 옵션은 시스템에서 현재 활성 상태인 프로세스를 보고 크론 활동의 징후를 찾는 것입니다. 또한 systemctl 도구를 활용하면 크론 데몬의 현재 상태에 대한 유용한 인사이트를 얻을 수 있습니다. 마지막으로, 샘플 크론 작업을 실행하면 서비스가 작동 중인지 여부를 확인하는 추가적인 수단으로 사용할 수 있습니다.
Cron은 원활한 기능을 통해 사용자가 일상적인 시스템 운영을 효율적으로 관리하고 예약할 수 있는 강력한 도구입니다. 설치된 소프트웨어에 의해 많은 작업이 자동으로 생성되므로 프로세스가 더욱 간소화됩니다. 작업 자동화 및 스케줄링을 구현하면 시스템 성능이 향상될 뿐만 아니라 시스템 상태를 최적으로 유지할 수 있습니다.