Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

2건의 글

crontab 사용법 - 실행·관리·권한 설정 정리

리눅스 crontab의 사용법을 정리한 글이다. crontab -e로 작업을 편집하고 -l로 내용을 확인하며, 분·시·일·월·요일 형식으로 아파치 재시작 같은 작업을 예약하는 예제를 소개한다. 마지막으로 /etc/cron.allow와 /etc/cron.deny 파일을 이용한 사용자별 crontab 권한 설정 규칙을 설명한다.

반응형

<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script>(adsbygoogle = window.adsbygoogle || []).push({}); </script>

  1. 실행 및 관리

crontab 파일 에디터

crontab -e

crontab 파일내용 확인

crontab -l

crontab 재시작

/etc/rc.d/init.d/crond restart

crontab 동작 확인

tail /var/log/cron

  1. 설정

30 /usr/local/apache/bin/apachectl restart
: 매시 30분마다 아파치를 재시작 합니다.

30 3 1 10 * /usr/local/apache/bin/apachectl restart
: 10월 1일 3시 30분에 아파치를 재시작 합니다.

45 /3 * 1-5 /usr/local/apache/bin/apachectl restart > dev/console
:월~금요일 매 3시간 45분에 아파치 재시작하고 결과는 콘솔에 출력합니다.

      • 2-4 * /usr/local/apache/bin/apachectl restart
        : 2월~4월까지 매시간 매분에 아파치 재시작을 합니다.
  1. 권한설정

crontab 사용권한 설정을 할 수 있습니다.
: /etc/cron.allow 파일에 허용할 사용자 추가
: /etc/cron.deny 파일에 허용하지 않을 사용자 추가

cron.allow를 먼저 참조합니다. cron.allow에 명시된 사용자는 cron job을 실행할 수 있습니다.
cron.allow에 없는 사용자는 cron.deny에도 없다면 cron job을 실행할 수 있습니다.
cron.allow, cron.deny 두 파일이 존재하지 않으면 슈퍼유저만 cron job을 실행할 수 있습니다. (기본설정)
cron.deny 파일이 존재하고 아무 내용 없이 비어 있다면, 모든 사용자가 cron job을 실행할 수 있습니다.

주기적으로 PHP 파일 실행하기 (crontab으로 cron.php 돌리기)

리눅스 crontab을 이용해 PHP 파일을 주기적으로 실행하는 방법이다. crontab -e 명령으로 에디터를 연 뒤, 한 시간에 한 번씩 wget으로 http://도메인/cron.php를 호출하는 "0 * * * * wget -O - -q -t 1 URL" 한 줄을 추가하면 정해진 시간마다 PHP 코드가 자동으로 실행된다. cron.php에는 주기적으로 실행할 코드를 넣어두면 된다.

크론탭에 추가

# crontab -e

한시간에 한번씩 원하는 페이지를 실행시키는 코드

0 * * * * wget -O - -q -t 1 [http://domain.com/cron.php](http://domain.com/cron.php)

위와같이 한 줄을 추가하게되면
순서대로 0분 매시간 매일 매월 매요일 이 될 때마다 (다시말해 1시간에 1번) php코드를 실행시키게 된다.
cron.php에는 1시간에 1회 실행될 코드를 넣어두면 된다.



Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.