만자의 개발일지

[Linux] crontab 사용법 본문

Linux

[Linux] crontab 사용법

박만자 2021. 11. 4. 20:31

crontab

crontab은 유닉스 계열 운영체제의 시간 기반 잡 스케줄러로 특정 시간에 특정 작업을 정기적으로 반복 수행 할 수 있도록 도와주는 패키지입니다.

crontab은 대부분의 리눅스 환경에 기본적으로 설치되어있습니다. 

crontab이 활성화 되있는지 확인해보고싶으면 아래와 같이 명령어를 입력하시면 됩니다.

# systemctl status crond

초록색 부분과 같이 Active: active (running) 표시가 있고 Loaded : loaded(enabled) 가 되있다면 crontab이활성화 되있는 겁니다.


그럼 이제 본격적으로 crontab을 어떻게 설정하고 다루는지에 대해 알아봅시다.

 

먼저 crontab을 설정하는 방법을 보시고 싶으시면 아래와 같은 명령어를 입력해줍니다.

# vi /etc/crontab

보시다시피 주석으로 crontab 사용예제와 crontab에서 각칸이 무엇을 의미하는지 자세히 나와 있습니다.

첫번째칸을 기준으로 분,시,일,월,요일 을 뜻합니다.


이제 crontab을 명령어를 통해 이용해봅시다.

아래와 같은 명령어를 입력하면 crontab 명령어를 이용하는 방법에대해 알 수 있습니다.

# crontab -help

 

 

crontab Usage를 보면

crontab [options]
crontab [options] file
crontab -n [hostname]

이렇게 3가지 방법으로 사용한다고 나와있습니다.

그러면 crontab 옵션에는 무엇이 있는지 알아보도록 합시다.

 

-e crontab 편집
-l crontab 내용 출력
-u <user> 해당 사용자의 crontab 파일을 읽거나,삭제 또는 편집 가능
-r crontab 내용 삭제

이렇게 자주쓰는 4개정도에 대해 정리해보았습니다.

 

그럼 예제를 통해 실습을 해보도록 하겠습니다.

# crontab -e
*/1 * * * * date >> date.log

crontab -e 를 통해 crontab편집을 열어주시고 위와 같은 명령어를 입력해줍니다. 그리고 명령모드에서 :wq 로 저장하고 나와줍니다. 위 명령어는 1분마다 시간을 불러와 date.log의 파일에 추가해주겠다는 뜻입니다.

 

그리고 home 디렉토리에 가보시면 date.log 라는 파일이 하나 생성되었을겁니다.

아래와 같은 명령어를 입력해 잘 실행되는지 확인해 봅시다.

# tail -f date.log

-f 는 refresh라는 뜻으로 date.log에 1분마다 새로운 내용이 추가되면 자동으로 refresh 해주는 아주 유용한 기능입니다.

1분은 기다리면 아마도 콘솔창에 내용이 추가되는것을 보실 수 있을겁니다.

 

이상 간단한 crontab 사용법에 대해 알아보았습니다.

 

참고

 

Comments