simple_html_dom.php를 이용하여 크롤링,파싱 소스 예제

이 소스는 식단을 긁어와서 .txt파일로 바꾸는 소스입니다.

카카오톡 자동응답 api을 이용하여 학식 봇을 만들 때 만든 소스입니다. 참고하실 분은 참고 하세요~




PHP와 카카오톡 자동응답 API를 이용하여 학식 봇 제작 - 4
(라 쓰고 글 수 늘리려는 꼼수라한다)

는 바로 시작!


PHP와 카카오톡 자동응답 API를 이용하여 학식 봇 제작 - 3에서 .txt로 저장하는 것까지 했다.

이제 이것을 매일 0시에 실행하여 .txt 저장할 수 있도록해 볼것이다.

리눅스에는 일정시간이 되면 자동을 실행해주는 기능이 있다!

cron, crontab이라는 것을 써서 매일 0시에 동작할 수 있도록 할 것이다.

자세한 사용법은 검색 고고


> vim /etc/crontab



/etc/crontab을 보면 아마 최초 화면은 밑에 3줄빼고 있을 것이다. 밑에 3줄이 바로 학식을 긁어오는 php를

실행시킬 수 있도록 해주는 명령어이다. 

한번하면 혹시 에러떠서 못 긁어올 수 있으니까 한 4번정도 실행 시킬 수 있도록 하였다.

경로는 절대경로를 써야 편할 것이다. 그리고 >> 이후는 제대로 실행됐는지 로그 남길려고 만든 부분이니

로그가 필요없다 싶으면 >> 이후는 날려먹어도 되겠다.  

다 작성했다면 :!wq 저장하고 나온다. 그리고 다음 명령어를 입력해준다~

> /etc/init.d/cron reload

> /etc/init.d/cron restart

그럼 끝~



그럼 이제 매일 .php가 실행이 되어서 .txt가 생길테니 이제 이 .txt를 message를 통하여 호출한다. 그래야

카톡에서 확인 할 수 있으니까~


$data = json_decode(file_get_contents('php://input'), true); $content = $data["content"]; ######### 요청을 들어와서 content로 저장하여 어떤 값 반환해줄지 if (!function_exists('codepoint_encode')) { function codepoint_encode($str) { return substr(json_encode($str), 1, -1); } } if (!function_exists('codepoint_decode')) { function codepoint_decode($str) { return json_decode(sprintf('"%s"', $str)); } } if($content == "식단") { $tt = date("Y-m-d"); #echo "시간 : ".$tt."\n\n\n\n\n\n"; $fileopen = fopen("~경로/data/".$tt."_이름.txt","r") or die("Unable file!!"); $file = fread($fileopen, filesize("~경로/data/".$tt."_이름.txt")); $encdata = str_replace("\r\n","\n",$file); $encdata = codepoint_encode($encdata); echo <<< EOD { "message": { "text" : "$encdata"}, "keyboard":{ "type" : "buttons", "buttons":[ "식단1", "식단2", "식단3", "식단4", "문의하기" ] } } EOD; fclose($fileopen); }


여기서 카카오톡 API에서 .txt파일을 호출할 때 몇가지 문제점이 있다. .txt파일에 포함되어있는(우리 눈에는 보이지 않지만)

\r\n이 연결이 끝이라는걸 의미한다. 그래서 \r\n을 방치하면 값이 온전히 리턴되지 않아 카톡에서 확인이 불가능하다.

따라서 str_replace로 치환해준다. 그리고 인코딩을 한번더 해야하는데 codepoint_encode()를 써서 바꾸어줘야 .txt파일이

정상적으로 카카오톡 자동응답 api로 리턴되어 카톡에서 확인 할 수 있다.




(사진 삼탕잼)

자 그러면 이제 아래 키보드도 만들었고 반환하는 것도 만들었으니까 완성이다~

몇일간 잘 돌아가는지 테스트하고 이제 쓰면 될것이다~



PHP와 카카오톡 자동응답 API를 이용하여 학식 봇 제작의 포스팅이 끝났다.

뭔가 굉장히 번갯불에 콩 구워먹듯이 후다닥 적은 느낌이 없잖아 있지만, 정말 생각보다 쓸게 많이 없다.

만들면서 시행착오를 엄청 거친다고 생각보다 시간이 오래 걸렸는데, 개발을 잘하는 사람들이 잡으면

진짜 하루만에 다 완성 할 수 있는 쉬운 난이도였던거 같다.

개발 소요시간은 개발노트를 보니까 18일이 걸렸다.

개발 노트에 시행착오랑 생각했던걸 주저리주저리 적어놨더니 생각보다 많이 긴거 같다.

(근데 포스팅하니까 엄청 짧아지는건 함정)

처음하기전에는 막연히 어려울거라 생각했는데 하다보니까 그렇게 엄청 어려운 것은 아닌 것 같았다.

그래서 시작이 반이라는 말이 생긴지도 모르겠다. 

나의 이런 시행착오가 다른 사람에게 미약하나마 도움이 되었으면 좋겠다.



  1. 최규선 2017.08.20 17:01

    정말 많은 도움이 됬어요 포스팅한거 너무 감사드립니다

  2. 플러스친구 2017.09.29 01:40

    카카오톡 자동응답 아래와 같은 연속 응답 받기는 불가능한가요?

    Ex)
    카톡봇 : 이름을 입력해 주세요.
    사용자 : ㅇㅇㅇ
    카톡봇 : ㅇㅇㅇ님 안녕하세요. 전화번호를 입력해 주세요.
    사용자 : 010-0000-0000
    카톡봇 : 010-0000-0000 맞으시면 1번 틀리시면 2을 눌러주세요.

    위와 같은 채팅 응답은 불가능 한가요?

    • Favicon of https://jmoon.co.kr BlogIcon JMoon1601 2017.10.09 19:21 신고

      제가 거기까진 안해봐서 모르겠는데, 공식 문서를 보았을 때 가능할거라고 봐요.
      공식 문서들어가셔서 한번 확인해보세요~

  3. 학식 2018.08.26 22:17

    안녕하세요 서버에 올려둔 message.php 에서 로컬에 있는 txt 파일을 그냥 C 드라이브 경로로 주면 읽어지나요?ㅠㅠㅠ
    저는 안읽어저서 쩔쩔해매고있숩니당 ㅠㅠ

PHP와 카카오톡(KakoTalk) 자동응답 API를 이용하여 학식 봇 제작 - 3


(현재 필자의 표정)

얼른 시작합시다...

귀차니즘이 폭발하기 시작하였으니까.. 점점 글이 짧아지는 마법




먼저 학식의 정보를 반환해주는 주소나 위치를 파악한다!

그리고 위의 사진과 같이 Postman을 이용하여 어떻게 반환하는지 확인한다!

Json으로 반환하고 요일과 건물로 나뉘어서 쨘쨘쨘! 하고 나오는 것을 확인 할 수 있다.

이런 완전 개이득인걸~ 이렇게 완전 정리해서 주다니~ 

여기선 JSON을 php로 파싱, 크롤링하기면 하면되니까 그렇게 어렵지 않을 듯 싶다!

자 그럼 이제 위의 반환 값을 통하여 .txt파일로 저장을하자!!(원래 DB로 할랬는데...)



$contents = file_get_contents('http://학식 정보를 가져오는 URL'); $user = json_decode($contents); $tt = date("Y-m-d"); $week = array("Sun","mon","tue","wed","thu","fri","sat"); $yoil = $week[date("w")]; echo $tt," ",$yoil,"\n";

$file = fopen("~경로/data/".$tt."_name.txt", "w") or die("Unable to open file!!\n"); fwrite($file,$tt. " ". $yoil."\n"); foreach ($user->resultList as $item){ if(strstr($item->roomName, "분식")){ fwrite($file,"\n분식(라면)\n11:30 ~ 14:00 / 17:00 ~ 18:30\n" ); print_r(str_replace("/","",$item->$yoil)); fwrite($file, str_replace("/","",$item->$yoil)); fwrite($file, "==========\n"); } else if(strstr($item->roomName, "양식")){ fwrite($file, "\n양식\n11:30~14:00 / 17:00 ~ 18:30\n"); #echo "양식\n"; #echo "11:30 ~ 14:00 / 17:00 ~ 18:30\n"; print_r(str_replace("/","",$item->$yoil)); fwrite($file, str_replace("/","",$item->$yoil)); fwrite($file, "==========\n"); } else if(strstr($item->roomName, "한식")){ fwrite($file, "\n한식\n11:30~14:00 / 17:00 ~ 18:30\n"); #echo "한식\n"; #echo "11:30 ~ 14:00 / 17:00 ~ 18:30\n"; print_r(str_replace("/","",$item->$yoil)); fwrite($file, str_replace("/","",$item->$yoil)); fwrite($file, "==========\n"); } } fclose($file);


소스코드를 보면 현재요일에 해당하는 값을 ~경로/data/현재요일_name.txt로 저장하는 것을 알 수 있다. 

매일 현재요일에 해당하는 식단을 .txt로 저장하는 것이다~ 매주 단위로 긁어와도 되지만, 그것은 편할때로 하면 된다~

그리고 중간에 가독성을 올려주기 위해 str_replace를 이용하여 적절히 치환하여 저장하고, 음식 분류마다 구분하기 위해

=====를 넣었다. 

만약에 이 글을 보시는 분들중에서 JSON형태로 반환하는 URL을 찾았다면, 위의 소스를 적절히 고쳐서 

만들면 손쉽게 만들 수 있을 거라 생각 된다!! 

뭔가 점점 글이 짧아지는 느낌이지만....쓸 내용이 없는걸..

다음 포스팅은 .txt로 저장한 위의 학식 정보를 message와 연동시키고, crontab을 이용하여 매일 실행하여

저장하는 방법을 올리겠다

그럼 이만 총총



  1. ㅋㅋㅋㅋ 2018.03.02 12:45

    Yoil 요일ㅋㅋㅋㅋㅋ

PHP와 카카오톡 자동응답 API를 이용하여 학식 봇 제작 해보자! 2탄!



두둠칫 두둠칫

벌써 2탄! 의식의 흐름 기법대로 마구마구 써내려 가는 포스팅!

이번에는 keyboard.php를 누르면 응답할 수 있도록 만들겁니다!

이번 포스팅은 매우매우 간단하고 짧게! 

이전 포스팅에 이어서 쓰는 글입니다~

http://jmoon.co.kr/115


경로는  : /var/www/html/Kakao_Bot/message.php

keyboard.php와 마찬가지로 경로는 개발환경에 따라 달라지겠지만 message.php는 변하지 않는다!

아래의 소스를 참고해서 쓰면 되겠다. 딱히 설명할게 없는 듯 하다 이번엔..

아 참! <?php와 ?>를 빠뜨리면 안된다. 이건 php이기때문에!

$data = json_decode(file_get_contents('php://input'), true); $content = $data["content"]; if($content == "button1") { echo <<< EOD { "message": { "text" : "여긴 button1"}, "keyboard":{ "type" : "buttons", "buttons":[ "button1", "button2", "button3", "button4", "button5" ] } } EOD; else if($content == "button2") { echo <<< EOD { "message": { "text" : "여긴 button2"}, "keyboard":{ "type" : "buttons", "buttons":[ "button1", "button2", "button3", "button4", "button5" ] } } EOD; }

(위의 소스에 <p>같은 쓰레기 값이 있는데 이것도 부디 지우고 사용하길 바란다... 설마 그대로 쓰는 사람 없겠지?)

※한번 더 강조하지만 ,이나 괄호를 꼭꼭 두번 세번 네번 열다섯번 다시 확인하자.. 하나가 빠져서 기능이 제대로 구현 안될 가능성이 있다... 필자는 여기서도 ' , ' 쉼표를 빠져서 한동안 해맸다.. 



"여긴 button1" 에는 변수도 들어가므로 변수로 값을 출력할 수 있다.

"message" 뒤에 있는 "keyboard"가 없다면 출력하고 나서 다음 키보드가 나오지 않거나 늦게 나온다.

그래서 "keyboard"값에는 keyboard.php에 있는 값 그대로 쓰면 된다.

해보진 않았지만 keyboard값을 바꿔서 연속적으로 질 -> 답 -> 다른질문 -> 답으로 진행할 수 있을 것이다.

위와 같이 if문으로 쭈루룩~ 만들어도 되고, 좀 더 효율적으로 만들려면 함수형태로 구현해도 될 것이다.

아주 직관적으로 만들기 위해서 그냥 if문으로 쭉 만들었다...(절대 귀찮아서 그런거 아님..)

기본적인 소양만 있다면 저기서 함수로 바꿔서 하던지 버튼 개수만큼 if수를 늘여서 짜는 것이 가능 할것이다!!

코드가 더럽다고 해버리면..

이 친구들이 혼내줄거야


위의 기본 소스를 그대로 적용하면 아래의 Keyboard영역에는 button1, button2 ....등등이 나올거고

button1을 누르면 "여긴 button1"이라는 텍스트가 출력이 될 것이다. 위의 소스 그대로 button1이 나오는 걸

캡쳐로 보여주고 싶지만.. 이미 완성한걸 지워서 하고 싶진 않기때문에.. 아마 될거라고 생각이 된다..

안되면 아마 오타 몇개만 고치면 될 거에요..하하핳..

무책임에 대한 이미지 검색결과




기본적인 형태는 위와같은 소스이므로 여기서 자신의 입맛에 맞게 수정하면 될것이다.

다음 포스팅은 학식을 파싱, 크롤링하여 텍스트로 저장하는 것을 해보겠다!

이것은 파싱, 크롤링이 대상이 되는 홈페이지가 구성이 천차만별이므로 이것은 각 개발자 분들이

잘.. 요리해서 값을 뽑아내야한다..

필자가 값을 뽑아 내는 방법도 정말... 날로.. 가라로.. 저급하게.. 했기 때문에 하핳..




아래의 사진은 위의 기본 소스를 수정하여 응답이 올 수 있도록 값을 처리 하고 호출한 결과이다.


(수전증이 가득한 빨간색 선)



  1. apache2 쓰는분 2018.01.28 11:42

    http://jmoon.co.kr/107 참고해서 apache2.conf파일 수정하면 카카오톡이 message.php를 확장자 없이 읽을수 있습니다.

  2. 코리언 2018.06.08 19:37

    $content 가 안넘어오는데
    이런 경우는 어떤 경우가 있을까요?
    json_encode($data,JSON_UNESCAPED_UNICODE); 이런형태도 잡아보고
    여러가지 방법을 썼는데 값이 안들어와 답답한 마음에 문의 드립니다

PHP와 카카오톡(Kakao Talk) 자동응답 API를 이용하여 학식 봇 제작해보자 ! 


어느 평화로운 학교에서 한 잉여가 있었다. 그 잉여는 기말고사가 머지 않았는데 갑자기 개발을 하고 싶어졌다..

나는 학식을 먹지 않는 사람이지만, 아주 가끔 학식이 뭐가 나오는지 궁금할 때 홈페이지 들어가는게 너무 귀찮았다.

개발하고 싶은 마음과 귀차니즘이 융합이 되어 카카오톡 자동응답으로 학식을 알려주는 봇을 만들고 싶어졌다!
(개발하는 귀차니즘은 왜 안생겼을까..)

항상 느끼는거지만 시험이 다가올 땐 무얼해도 재밌지!


그래서 무작정 만들어보기 시작했다! 

시작이 반이라는 말도 있으니 이미 반은 완성

(가만히 있으면 반이라도 간다했으니 이제 가만히 있으면 완전 완성)


ㅈㅅ..





대충 구성은 위와 같다. 물론 처음부터 이렇게 생각한건 아니고 만들다 보니까 이렇게 되었다.

실력의 한계와 조언으로 수정하고 수정하다보니 처음 생각한 구성과 많이 달라졌다....


개발할 때 사용한 툴들은 putty와 notepad++(NppFTP), WinSCP, Postman을 썼다.  


제일 먼저 응답할 서버를 구해야 한다.

어딘지는 자세히 말할 수 없지만 nginx와 Docker로 하나 열어주겠다는 사람이 등장하였다.

그래서 Docker로 하나 얻어서 우분투 16.04와 php7버전을 깔고 apm 깔고 뭐 기본적인 설치를 하면 된다!

설치는 여러번 해보지만 항상 할때마다 까먹는다... 또르르 그래서 다음 링크를 참고하면서 만들면 좋을 듯 싶다

https://blog.lael.be/post/73


서버를 설치했다면 이제 옐로우 아이디에 들어가서 아이디를 등록해야한다!

아 근데 이제 옐로우 아이디가 아니라 플러스 친구로 바뀌었다.

https://center-pf.kakao.com/login

위의 경로로 들어가서  로그인해서 만들면된다. 만드는 방법은 아주 많기 때문에 신청와 완료부분은 넘어갈거다~
(실은 만들고나서 플친으로 바뀌어서 어떻게 만들었는지 기억이 안남..ㅋ)


하지만 다시 해보도록 해보자! 하하핳


필자는 이미 검토완료를 받았기 때문에 처음 만드는 거라면 아래의 과정보다 좀 더 많은 과정을 요구할 수 있다.


[그림1]

[그림2]

순서가 좀 짬뽕인데 말로 잘 설명해보겠다..

[그림1] 에 보면 새 플러스 친구 만들기가 있다. 누르면

[그림2]가 나온다. 그냥 입력해주면 된다. 입력을 다하고 만들면

[그림1] 에 목록이 나오는 것을 알 수 있다. 

새 플러스 친구 만들기가 다른 곳에 있을 수도 있으니 그정도는 알아서 들어가면 되겠다.




이제 계정도 만들었으니, 서버와 연동해서 Keyboard가 나오도록 해보자.

플러스 친구 관리자센터에 들어가면 위와 같은 화면을 볼 수가 있다.

왼쪽 목록에 스마트채팅 탭을 클릭하고 API형밑에 설정하기를 누른다!




나의 API 서버 URL은 위와 같다(모자이크때문에 하나도 안보이겠지만)

꼭 최상위 디렉토리일 필요가 없고 Kaka_Bot이라는 하위 폴더를 잡아도 된다.

앱 URL 형태는 http://abc.abc.com 형태여야한다.

여기서 필요한 것은 앱 URL에서 API 테스트를 통과해야한다는 것이다. 

필자는 여기서 시간을 꽤 많이 잡아 먹었다...무려 아주 간단한 실수로..




제대로 API테스트가 된다면 위와 같이 나와야한다.... 제대로 응답이 오지 않는다면 다른 에러를 마구마구 뿜으므로

잘..아주 잘 해야한다! 경로와 소스코드는 다음과 같다!

개발 환경에 따라 적절히 바꿔서 만들면 된다. 경로는 개발 환경에 바뀌겠지만 keyboard.php는 바뀌지 않는다.

/www/html/Kakao_Bot/keyboard.php

echo <<< EOD
{
	"type" : "buttons",
	"buttons" : ["button1","button2", "button3", "button4", "button5"]
}

EOD;

위 아래로 <?php , ?> 를 넣는건 빼먹지 말자 이 소스코드는 php소스 코드이다!
(티스토리에서 하이라이팅할때 <?php, ?> 넣으니까 깨짐 ㅠ)

저장하고 다시 관리자센터로 돌아와서 API 테스트를 눌러보자.

그럼 위와 같이 Required keyboard : OK가 뜬다.


무탈하게 OK가 뜬다면 더할나위 없겠지만 

우리한테 그런건 있을 수 없어에 대한 이미지 검색결과


에러가 막 이상한게 뜬다..? 그러면 어쩔 수가 없어요..

우리의 친구 구글과 github에서 해답을 찾아야 돼요~

https://github.com/plusfriend/auto_reply

짱짱한 실력자님께서 해결 방법을 올려주고, 다른 사람의 에러와 같다면 참고해서 해결하면되요!

여기가 카카오톡 자동응답 api의 document이니까 자주 자주 참고하면 되겠다~


api 테스트를 누르는게 귀찮다면 Postman을 사용해보자

https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop

크롬 확장도구로써 get이나 json을 보내 돌아오는 값을 확인 할 수 있는 아주 유용한 도구이다.

디버깅할 때 좋은 툴이니까 사용하면 좋을 것이다!


※여기서 아주아주 중요한 것이 있는데 EOD 뒤에 스페이스바나 " buttons"등 스페이스가 하나 더 들어가거나 철자가 틀리면

Postman에서 제대로 값이 오는데, 카카오톡 API에서는 에러가 나올 수 있다. 정말 진짜 혼또니 제대로 모든 철자를 확인하고

스페이스바가 하나 더 들어가있는지 확인해야한다.. 필자는 buttons앞에 스페이스바가 하나 더 들어간걸 못찾아서

몇 일을 뻘짓했다.. 찾았을 때 그 기쁨과 허무함이란..



관리자 센터에서 OK가 뜨는 것을 확인했다면 이제 휴대폰에서 Bot에서 제대로 뜨는지 확인 할 필요가 있다.

keyboard.php가 제대로 응답한다면 아래의 빨간색 부분이 제대로 나올 것이다.



아 맞다. 폰에 카카오톡 친구추가하는 방법을 안 알려줬네

아까 플러스친구 관리자 센터에서 홍보하기 -> 플러스 친구 URL로 간단히~ 친구 추가가 가능


그리고 폰에서 플러스친구 그룹에서 보면 확인할 수 있다요.

즐겨찾기로 하면 좀 더 쉽게 접근할 수 있지




만든지 조금 되었고, 글을 쓸 때 틀을 안 잡고 의식의 흐름 기법대로 적으니까 글이 아주 중구난방인 듯하다.

이번 포스팅은 카카오톡 플러스 친구로 등록을 하고, Keyboard가 보이는 것까지 해보았다.

다음 포스팅은 키보드를 누르면 응답을 하는 message.php를 만들어 볼 것이다.

이까지 만드는데 엄청난 시행착오를 거치면서 시간 많이 썼는데... 막상 포스팅 하니까 정말 별거 없네..



혹시나 혹시나 그럴리가 없겠지만 궁금한 점 댓글 달아주면...

아는 한도내에서 답변을 달아 드리죠. 하핳

그럼 이만 총총


  1. keyboard.php 2017.07.25 15:38

    혹시 php 확장자 숨기기도 해주셨나요?? 위에 보면 postman에서 ~/keyboard 만 치면 코드가 뜨는거 같은데
    저는 ~/keyboard.php 까지 써줘야 뜨더라구요 ㅠㅠ 이것때문에 api test도 계속 안되는 건가 싶네요 ㅠㅠ

    • Favicon of https://jmoon.co.kr BlogIcon JMoon1601 2017.08.08 14:56 신고

      벌써 해결했을지는 모르겠지만..
      저도 확장자 문제인거 같아서 확장자 자동으로 연결되게 했던 기억이 나네요.. 아마 구글에 찾으시면 방법이 있으니 한번 해보시는 것도 나쁘지 않을거 같네요

  2. lsk 2017.10.12 13:22

    안녕하세요!! 잘 보고 갑니다!! 궁금한게 하나 있는데 혹시 카카오톡 봇을 비공개로 사용할수도 있나요? 예를들어 중요한 정보알림을 몇 몇 사람만 공유할수있고 어떠한 url이나 다른 정보를 통해서만 등록할 수 있고 플러스 친구 검색에 노출안되게 할 수도 있나요?

  3. 2018.11.30 12:54

    비밀댓글입니다

PHP  '(싱글쿼터) "(더블쿼터)의 차이 


결과부터 말하자면

'(싱글쿼터) : 변수등을 고려하지않고 그대로 출력

"(더블쿼터) : 변수등을 고려하여 치환할 것이 있으면 치환 후 출력




str_replace를 이용하여 변수가 적용되지 않고, 바로 출력되는 경우로 예시를 들어보겠다.




먼저 "(더블쿼터)로 str_replace로 한 값이다. 

변수가 없고 스트링만 있기때문에 딱히 별다를거 없이 그대로 출력된다.




"(더블쿼터)로 str_replace할 때 \n 줄바꿈을 넣었다.

결과를 보면 \n이 줄바꿈으로 인식되어, 출력되는 것을 알 수 있다.
위 사진에서는 잘 안보이지만, 또한 소스에 \n의 글자색이 다른 것을 알 수 있다.




'(싱글쿼터)로 str_replace할 때 줄바꿈(\n)을 넣으면 줄바꿈으로 인식하지 않고 \n의 문자 그대로 출력하게 된다.




'(싱글쿼터)로 str_replace할 때 스트링만 있으면 그대로 출력되는건 똑같다.





혹시 코딩을 하다가 str_replace, 변수 등을 썼는데 줄바꿈이나 변수를 인식하지 못하고 , 문자 그대로 출력이 된다면

싱글쿼터인지 더블쿼터인지 한번 더 확인해보자. 


참고 : http://luckyyowu.tistory.com/61

PHP에서 Python 실행 후 값 반환 



$command = escapeshellcmd('python3 ~/job/rr.py');
$output = shell_exec($command);
echo $output;


  1. Favicon of https://prestige-os.tistory.com BlogIcon Prestige' 2018.02.28 23:36 신고

    항상 좋은 정보 배워갑니다 ㅎㅎ

우분투 crontab을 이용해 php 실행


a b c d e    f    g

a : 분 (0~59)
b : 시간(0~23)
c : 달(1~31)
d : 년(1~12)
e : 요일(0~6 / 0은 일요일)
f : 사용자
g : 명령어


a에 */2로 하면 2분마다 실행시키게 됨
b에 */2하면 2시간마다 실행
e에 1~5하면 월~금에만 실행 





~# vim /etc/crontab


* * * * *    root    php ~~~~.php
위의 php의 경우 0시에 15분마다 매일 php ~~.php를 실행 시키도록 한것이다. 



~# service cron reload
~# service cron restart



+ Recent posts