채택완료

리눅스 크론탭 질문

2021-01-07 (목) 20:58:35 2,825
Copy
// a.php

 


<?php
include_once('./common.php');

$sql = "INSERT INTO s
           SET a = 1 ";
sql_query($sql);

# crontab -e 입력후

명령어 * * * * * php /home/www/a.php

라고 했는데 데이터베이스에 자료가 한개도 들어가질 않는데

무엇이 문제일까요 ㅜㅜ 

|

답변 5개 / 댓글 3개

채택된 답변
+20 포인트
2021-01-08 (금) 15:20:49

include_once('./common.php');

->

include_once('/home/www/common.php');

변경 후,

크론탭에 실행할 내용을, 'php /home/www/a.php'

직접 실행해서 데이터베이스에 자료가 insert 되는지 확인

2021-01-08 (금) 17:01:38

모두 감사드립니다^^

a.php 파일의 퍼미션을 700으로 수정 하시고 테스트 해 보세요.

답변에 대한 댓글 1개

2021-01-08 (금) 13:50:26
700 조정후 해봐도 동작하지가 않습니다 ㅜㅜ
2021-01-08 (금) 01:28:26

아래 처럼 뒤에 처리한 것에 대한 로그를 남겨서 확인해보세요.

물론 a.php에서 다른 방식으로 체크하셔도 되구요.

허나 지금 확인이 어려운것 같으니 크론탭 자체에서 문제가 없는지 확인해보세용.

Copy
* * * * * /usr/bin/php/home/www/a.php > /usr/bin/php/home/www/a.log 2>&1

답변에 대한 댓글 1개

2021-01-08 (금) 13:50:10
퍼미션 700으로 조정후 이 명령어를 써도 되지가 않아요 ㅜㅜ
2021-01-07 (목) 21:13:26

php

=> 해당 명령어 전체 경로를 적어주셔야 됩니다

=> 보통은 /usr/local/php/bin/php 인데 실제 경로를 찾아보셔서 설정하시면 됩니다.

답변에 대한 댓글 1개

2021-01-07 (목) 21:17:05
* * * * * /usr/bin/php /home/www/a.php 라고 했는데도 반응이 없네요 ..ㅠㅠ

답변을 작성하려면 로그인이 필요합니다.