Cron 작업의 CasperJS 및 PHP가 파일을 열 수 없으며 수동으로 실행할 때 제대로 작동합니다.

앤서니 제 스모크

최근 Ubuntu와 함께 새로운 DigitalOcean LEMP 환경이 생겼습니다. CasperJS를 사용하여 외부 웹 사이트의 데이터를 JSON 파일로 스크랩하고 PHP 스크립트를 사용하여 JSON을 구문 분석하고 MySQL 데이터베이스를 업데이트하는 SH 스크립트를 만들려고했습니다. SH는 cron 작업에 의해 실행됩니다. 내 crontab은 다음과 같으며 90 분마다 실행됩니다.

# m h  dom mon dow   command
0 0,3,6,9,12,15,18,21 * * * /bin/sh /usr/share/nginx/private/mpd_calls_for_service/scrape_mpd_calls_cron.sh
30 1,4,7,10,13,16,19,22 * * * /bin/sh /usr/share/nginx/private/mpd_calls_for_service/scrape_mpd_calls_cron.sh

그리고 문제의 SH 파일은 다음과 같습니다.

#!/bin/sh
/usr/local/bin/casperjs /usr/share/nginx/private/mpd_calls_for_service/scrape_mpd_calls.js
/usr/bin/php /usr/share/nginx/private/mpd_calls_for_service/parse_json_file.php

SSH의 터미널을 통해 이러한 코드 줄을 개별적으로 실행하면 정상적으로 작동합니다. 그러나 SSH 또는 Cron을 통해 수동으로 쉘 스크립트를 실행할 때 이것이 결과입니다.

파일을 열 수 없습니다 : /usr/share/nginx/private/mpd_calls_for_service/scrape_mpd_calls.js URL about : blank를 사용하여 프레임에 액세스하려는 안전하지 않은 JavaScript 시도 /bootstrap.js. 도메인, 프로토콜 및 포트가 일치해야합니다.

URL file : ///usr/local/lib/node_modules/casperjs/bin/bootstrap.js가있는 프레임에서 약 : blank URL로 프레임에 액세스하려는 안전하지 않은 JavaScript 시도. 도메인, 프로토콜 및 포트가 일치해야합니다.

입력 파일을 열 수 없습니다 : /usr/share/nginx/private/mpd_calls_for_service/parse_json_file.php

지난 이틀 동안 시도한 솔루션에는 다음이 포함됩니다.

  1. 영향을받는 모든 파일에 대한 CHMOD 777.
  2. sudo 동안 crontab-e 편집.
  3. npm -g를 통해 PhantomJS 및 CasperJS 재설치

그래도 여러 번 시도한 후 막 다른 골목에 이르렀고 머리카락을 뽑을 준비가되었습니다. 커뮤니티의 도움을 주시면 감사하겠습니다.

앤서니 제 스모크

나는 &&를 사용하여 단일 crontab 줄에서 명령을 실행하고 bash -l -c 문 내부에서 이제 작동합니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관