2013-05-14 3 views
0

PHP를 사용하여 서버가 현재 실행되고있는 시간에 따라 예약 된 작업을 원합니다.백그라운드 작업을 수행하는 가장 좋은 방법

일요일 오후 7시에 데이터베이스 쿼리를 실행하고 싶습니다.

내가 이것을 수행하는 방법은 세션 초기화에서 각 페이지로드시 실행되는 스크립트에 작업을 넣는 것입니다.

아이디어가 있으십니까?

+4

cron의 문제점은 무엇입니까? – andrewsi

답변

3

지정된 시간 간격으로 PHP 스크립트를 자동으로 실행하는 한 가지 방법은 Crontab을 사용하는 것입니다. 이는 사용자 상호 작용없이 정보를 자동으로 업데이트해야하는 스크립트 (특히 웹 사이트 통계를 수집하여 다른 웹 사이트의 컨텐트를 정기적으로 검색하는 스크립트 등)에 특히 유용 할 수 있습니다.

참조 : PHP CLI and Cron

0

당신은 그냥이 같은 당신을위한 스크립트를 실행하는 데 크론을 사용할 수 있습니다 : 당신은 ssh를 액세스 할 수있는 경우

을 추가 할 수 있습니다 이런 crontab 항목 :

crontab -e 
이 같은

를 입력 뭔가 :

0 19 * * 0 php -f /path/to/script/file.php 

w 여기서 19는 시간 (7pm), 0 번째 요일 (일요일), 0은 분입니다.

일주일에 오후 7시에 실행됩니다.

0

cron 탭의 용도입니다. 실행하려는 모든 시간에 실행할 태스크, 스크립트 또는 기타 프로그램을 지정할 수 있습니다. Cron은 운영 체제에서 실행되며 운영 체제의 시계에 따라 이동합니다.

예를 들어 매분 PHP 스크립트를 실행하려면 다음과 같은 내용을 내 cron 탭에 넣으십시오.

* * * * * php /path/to/script.php 

실제로 cron 항목을 만드는 방법은 서버 설정에 따라 다릅니다. Unix/Linux 시스템에서 쉘 액세스가 가능하다면 다음 명령을 실행하여 cron 탭을 쉽게 편집 할 수 있습니다.

crontab -e 

그러면 기본 텍스트 편집기에서 crontab이 표시됩니다.

cPanel과 같은 것을 사용하는 경우 edit cron entries에 대한 정보는 설명서를 참조해야합니다.

cron의 실제 구문은 처음에는 복잡 할 수 있습니다. 도움이 필요할 경우 사용할 수있는 온라인 entry generators이 있습니다.

0 * * * * php /some/script.php # This will execute at the 0 minute of every hour. 
0 1 * * * php /some/script.php # This will execute at the 0 minute of the first hour of every day. In other words, every day at 1AM. 
0

PHP 파일을 예약하고 실행하려면 시스템 Cron deamon을 사용해야합니다.

먼저 크론에 읽어 : https://help.ubuntu.com/community/CronHowto

그런 다음이를 구현 :

열기의 crontab :

vim crontab -e 

당신의 크론 테이블에 항목을 추가

0 19 * * 0 /path/to/php /path/to/script.php 

당신의 script.php는 쿼리 할 코드/로직을 포함합니다. 전자 데이터베이스.

관련 문제