2012-10-24 15 views
7

मैंने कभी पहले सीआरओएन का उपयोग नहीं किया है, लेकिन मैं एक PHP स्क्रिप्ट के लिए शेड्यूल जॉब्स करने में सक्षम होने के लिए सीआरओएन का उपयोग करना चाहता हूं। php स्क्रिप्ट "inactivesession.php" कहा जाता है और php स्क्रिप्ट में इस कोड है:आप क्रॉन कार्य कैसे सेट अप करते हैं?

<?php 

include('connect.php'); 


$createDate = mktime(0,0,0,10,25,date("Y")); 
$selectedDate = date('d-m-Y', ($createDate)); 

$sql = "UPDATE Session SET Active = ? WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d') <= ?";           
$update = $mysqli->prepare($sql); 
$update->bind_param("is", 0, $selectedDate); 
$update->execute(); 

?> 

Wht मैं क्या करना चाहते हैं कि जब ऊपर तिथि आ जाने (25 अक्टूबर), मैं करने के लिए PHP स्क्रिप्ट चाहते है उपरोक्त अद्यतन कथन करें। लेकिन मेरा सवाल यह है कि ऐसा करने के लिए मैं CRON का उपयोग कैसे करूं?

मैं जिस सर्वर का उपयोग कर रहा हूं वह विश्वविद्यालय है जो हेलीओस के रूप में जाना जाता है, क्या सीआरओएन को हेलीओस में स्थापित करने की आवश्यकता है, (क्या मुझे इसके लिए व्यवस्थापक को कॉल करना है) या यह कुछ और है जो CRON का उपयोग करता है।

मैंने कभी भी सीआरओएन का उपयोग नहीं किया है, तो क्या आप मुझे बता सकते हैं कि सर्वर के साथ ऊपर दिए गए उदाहरण के लिए सीआरओएन कैसे स्थापित किया जा सकता है?

धन्यवाद

+1

यदि आपको किसी विशिष्ट दिनांक/समय पर एक बार चलाने की आवश्यकता है, तो शायद आप 'एटी' और क्रॉन नौकरी का उपयोग नहीं करना चाहते हैं। – adamdunson

+1

क्या आपने crontab के लिए मैन पेज पढ़ना माना है? – paddy

+0

आप 'क्रॉन हेलीओस' क्यों नहीं करते हैं? – hek2mgl

उत्तर

3

विधि 1: crontab से php का उपयोग कर स्क्रिप्ट निष्पादित

वैसे ही जैसे कि कैसे आप अपने खोल स्क्रिप्ट (शो जैसा कि हमारे crontab 15 उदाहरण लेख में) कॉल फोन, php निष्पादन का उपयोग करें, और जैसा कि नीचे दिखाया गया है, आपके क्रोंटैब से php स्क्रिप्ट।

myscript.php पर अमल करने के लिए हर 1 घंटे निम्न कार्य करें:

crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php 

विधि 2:

crontab से URL का उपयोग कर php स्क्रिप्ट चलाएं यदि आपका एक यूआरएल का उपयोग करके php स्क्रिप्ट को बुलाया जा सकता है, आप नीचे दिखाए गए अनुसार अपने क्रॉन्टाब को सेट करने के लिए lynx, या curl, या wget कर सकते हैं।

निम्न स्क्रिप्ट lynx टेक्स्ट ब्राउज़र का उपयोग कर URL को कॉल करके PHP स्क्रिप्ट (हर घंटे) निष्पादित करती है। डिफ़ॉल्ट रूप से लिंक्स टेक्स्ट ब्राउज़र इंटरैक्टिव मोड में एक यूआरएल खोलता है। हालांकि, जैसा कि नीचे दिखाया गया है, lynx कमांड में -डंप विकल्प, मानक आउटपुट में यूआरएल के आउटपुट को डंप करता है।

00 * * * * lynx -dump http://www.thegeekstuff.com/myscript.php 

निम्न स्क्रिप्ट CURL का उपयोग करके URL को कॉल करके PHP स्क्रिप्ट (हर 5 मिनट) निष्पादित करता है। डिफ़ॉल्ट रूप से कर्ल मानक आउटपुट में आउटपुट प्रदर्शित करता है। "Curl -o" विकल्प का उपयोग करके, आप नीचे दिखाए गए अनुसार अपनी स्क्रिप्ट के आउटपुट को एक अस्थायी फ़ाइल में भी डंप कर सकते हैं।

*/5 * * * * /usr/bin/curl -o temp.txt http://www.thegeekstuff.com/myscript.php 

निम्न स्क्रिप्ट यूआरएल wget का उपयोग कर फोन करके PHP स्क्रिप्ट (हर 10 मिनट) निष्पादित करता है। -क विकल्प काफी मोड इंगित करता है। "-O temp.txt" इंगित करता है कि आउटपुट अस्थायी फ़ाइल को भेजा जाएगा।

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.thegeekstuff.com/myscript.php 
+0

एक उत्कृष्ट उत्तर। अधिक जानकारी के लिए 'cron' और' crontab' के लिए सिस्टम मैनुअल का संदर्भ लें ... – voretaq7

संबंधित मुद्दे