본문으로 건너뛰기

crontab으로 일정 시간마다 PHP 파일을 실행하려면 어떻게 하나요?

💡 요약 정리

  • crontab은 분 시 날짜 달 요일 command 형식으로 설정합니다
  • PHP 파일 첫 줄에 #!/usr/local/bin/php -q로 PHP 경로를 지정합니다
  • chmod +x 명령으로 실행 권한을 부여합니다
  • crontab -e로 등록하고 /var/log/cron으로 실행 로그를 확인합니다

1. crontab 설정예제

분 시 날짜 달 요일 권한 command 형식으로 입력해줍니다

예시:

05 * * * * /root/backup/rsync_backup.pl  -> 매시 5분에 rsync_backup.pl 실행
05 15 * * * /root/backup/mysql_dump.sh   -> 매일 오후 3시 5분에 mysql_dump.sh 실행

2. mysql_update.php 작성

#!/usr/local/bin/php -q (리눅스에서 php 경로를 적어줍니다)
<?
conn=mysql_connect("localhost","test","password");
mysql_select_db("test",$conn);
mysql_query("update test set update=test1");
?>

mysql_update.php 의 실행권한을 줍니다

[root@test ~]$  chmod +x /root/mysql/mysql_update.php

3. mysql_update.php 실행 테스트

쉘상에서 mysql_update.php를 실행하여 정상작동하는지 확인합니다.

[root@test ~]$ /root/mysql/mysql_update.php >> /root/mysql/cron/mysql_update.log

4. crontab 등록

[root@test ~]$ crontab -e

# cronjob - mysql_update
*/5 * * * * /root/mysql/mysql_update.php >> /root/mysql/cron/mysql_update.log 2>&1

5. cronlog 확인

[root@test ~]$ tail -f /var/log/cron

Jul 27 06:55:01 qsh-0944 crond[5987]: (root) CMD (/root/mysql/mysql_update.php)
Jul 27 07:01:01 qsh-0944 crond[5988]: (root) CMD (/root/mysql/mysql_update.php)

문제가 해결되지 않았나요?

궁금하신 사항은 언제든지 1:1 문의게시판으로 문의해 주세요.

문의 시 포함 정보:

  • 카페24 아이디
  • 서비스 ID: 서버호스팅 서비스 ID
  • PHP 파일 경로: 실행하려는 PHP 파일의 절대 경로
  • crontab 설정: 등록한 crontab 내용
  • 에러 로그: /var/log/cron의 에러 메시지