본문 바로가기

『IT/개발』/Linux

[Linux] Crontab 사용법

Crontab은 리눅스 환경에서 스케줄링을 설정하여 원하는 시간에 작업을 수행 하도록 하는 아주 유용한 툴입니다.

먼저 Crontab은 파일을 직접 vi를 이용해서 수정을 할 수 있고 커맨드 명령어 만을 이용하여 수정을 할 수도 있습니다. 


파일은 CentOS 기준으로는 /etc/crontab 에 위치해 있습니다.

간단히 [root@localhost ~]# vi /etc/crontab 명령어를 이용하면 됩니다. 

Command Line 명령어를 이용하여 직접 수정 하는 방법은 아래와 같습니다.


[수정방법]

[root@localhost ~]# crontab -l : 예약된 작업 리스트를 출력합니다.

[root@localhost ~]# crontab -e : 예약된 작업을 수정합니다.

[root@localhost ~]# crontab -r : 예약된 작업을 삭제 합니다. 


[등록방법]

그럼 다음으로 등록 하는 방법에 대해서 알려드리겠습니다. 

[root@localhost ~]# crontab -e 명령 수행 후

*/1    *    *    *    *    /usr/local/bin/php    -    /home/hosting_users/~/~/crontab.php

위와 같이 입력 후에 저장하시면 됩니다. 간단하죠?

부분 별로 설명을 드리자면

[*/1    *    *    *    * ]

- crontab 이 수행되는 주기를 말합니다.

- 각각 분(0~59), 시(0~23), 일(1~31), 요일 (1~7{월~일})을 나타냅니다.

- */1 이라는 것은 1분 마다 해당 명령을 수행 하라는 것입니다.

- 두번재 필드에 */1 라고 적었다면 1시간 마다 해당 명령을 수행 하라는 것이 되겠죠.

- 만약 10  9,21  *  *  *  라고 적었다면 이것은 매일 9시 10분, 21시 10분 마다 해당 명령을 수행 하라는 것이 됩니다. 


[/usr/local/bin/php -e]

- PHP 파일을 실행 하기 위한 옵션입니다. 

[/home/hosting_users/~/~/crontab.php]

- 실제 PHP 파일이 존재하는 경로를 적어줍니다. 


[실행 명령어]

Crontab 시작

[root@localhost ~]# /etc/rc.d/init.d/crond start [엔터]

Crontab 종료

[root@localhost ~]# /etc/rc.d/init.d/crond stop[엔터]

Crontab 재 시작

[root@localhost ~]# /etc/rc.d/init.d/crond restart [엔터]