리눅스 자동화, '크론' 어떻게 쓰나요

컴퓨팅입력 :2022/12/30 10:53    수정: 2022/12/30 23:48

리눅스는 간단한 명령어 구문으로 작업을 자동화하는 게 가능하다. '크론(cron)'이라 불리는 도구로 리눅스 작업 스케줄러 유틸리티다.

최근 미국 지디넷은 리눅스의 '크론' 명령어를 이용해 시스템 작업을 자동화하는 기본적 방법을 소개했다.

크론을 이용하면 문서 폴더의 모든 항목을 백업하는 작업을 자동화하는 식으로 이용할 수 있다. 정해진 시간, 날짜에 혹은 일정 간격으 두고 주기적으로 실행하게 할 수 있다.

[사진=Pixabay]

예를 들어 문서 폴더를 모두 백업하는 스크립트 작성은 다음과 같다. 이름은 'backuo.sh'다.

해당 스크립트를 /usr/local/bin에 저장하고, 다음 명령을 사용해 적절한 실행 권한을 부여한다.

이제 백업 스크립트를 매일 또는 매주 수동으로 실행하는 대신 cron을 이용해 자동으로 만들 수 있다.

■ 크론 작업 생성 방법

터미널 창을 연다. 크론 시스템은 작업을 편집할 수 있는 자체 편집기를 내장했다. 편집모드에서 'crontab'을 열기 위해 'crontab -e'란 명령어를 터미널에 입력한다. 이 명령을 처음 실행한 경우 기본 편집기를 선택해야 한다. 리눅스 텍스트 편집기인 'nano'를 선택해보자.

새로운 크론 작업을 생성하려면 파일 맨 아래에서 새 크론 작업 항목을 만든다. 여기서 사용하는 시간과 날짜를 구체적으로 입력해야 한다. 시간과 날짜는 분(0~59), 시간(0~23), 일(1~31), 월(1~12), 요일(0~6)의 다섯가지 항목을 입력한다. 요일은 일요일(Sunday), 월요일(Monday)처럼 명사를 사용할 수 있지만, 일요일은 0이나 7로 입력해도 된다.

매주 일요일 오후 11시 백업을 실행한다면 시간과 날짜 항목은 '0 23 * * 0'이 된다. 해당 작업을 매주 금요일 오후 11시59분에 시작하려면, 그 항목은 '59 23 * * 5'가 된다.

토요일 오후 11시59분 실행에 대한 전체 항목은 다음과 같다.

관련기사

여기서 '> /dev/null 2>&1'란 부분은 스크립트 출력이 있으면 억제하는 내용이다. '>'를 이용해 모든 출력을 휴지통인 '/dev/null'로 보내고, '2>&1'을 사용해 모든 오률르 보낼 위치를 지시한 것이다.

컨트롤과 X를 사용해 파일을 저장하고 닫는다. 크론탭 파일을 저장하면 작업 준비 후 구성된 시간에 실행된다. 작업을 처음 실행하기 전에 오류없이 완료됐는지 확인하기 위해 스크립트를 테스트할 수 있다. 'backup.sh' 명령으로 수행할 수 있다.