2011-03-22 20 views
287

पर स्क्रिप्ट निष्पादित करने के लिए क्रोंटैब का उपयोग करना मुझे एक क्रॉन्टाब सिंटैक्स चाहिए जो हर मिनट एक विशिष्ट PHP स्क्रिप्ट /var/www/html/a.php निष्पादित करना चाहिए। हर मिनट पर निष्पादन 00:00 बजे शुरू होना चाहिए। दूसरा कार्य जो 00:00 /var/www/html/reset.php (प्रत्येक 24 घंटे में एक बार) पर एक स्क्रिप्ट निष्पादित करना होगा।प्रत्येक मिनट और प्रत्येक 24 घंटे

उत्तर

543

हर मिनट:

* * * * * /path/to/php /var/www/html/a.php

हर 24hours (हर आधी रात):

0 0 * * * /path/to/php /var/www/html/reset.php

कैसे crontab कार्यों के लिए इस संदर्भ देखें: http://adminschoice.com/crontab-quick-reference, और क्रॉन jobx निर्माण करने के लिए इस आसान उपकरण : http://www.htmlbasix.com/crontab.shtml

+2

प्रिय जनवरी! बहुत बढ़िया जवाब। हर 30 सेकंड में एक क्रॉन चलाने के बारे में कैसे? क्या यह इस तरह है? * * * * */30/पथ/से/php /var/www/html/a.php? – flaab

+24

दुर्भाग्यवश आप क्रॉन नौकरियों को हर मिनट से अधिक बार नहीं चला सकते हैं। इसके लिए आपको कुछ और उपयोग करना होगा। –

+8

Jan Hančič, आप यह कर सकते हैं। आपको बस यहां वर्णित एक साधारण चाल का उपयोग करने की आवश्यकता है: http://stackoverflow.com/a/1034304/1580615 – Ruben

361

यह/etc/c का प्रारूप है rontab:

# .---------------- minute (0 - 59) 
# | .------------- hour (0 - 23) 
# | | .---------- day of month (1 - 31) 
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 
# | | | | | 
# * * * * * user-name command to be executed 

मैं प्रतिलिपि & चिपकाने कि आपके crontab फ़ाइल के शीर्ष में इतना है कि आप हमेशा अपने पास रखें संदर्भ सलाह देते हैं। RedHat सिस्टम डिफ़ॉल्ट रूप से इस तरह से सेटअप कर रहे हैं।

0 0 * * * username /var/www/html/reset.php 

आप या तो शामिल/usr/bin/php में आदेश को चलाने के लिए, या:

* * * * * username /var/www/html/a.php 

हर दिन की आधी रात को कुछ चलाने के लिए:

हर मिनट कुछ चलाने के लिए आप PHP स्क्रिप्ट सीधे निष्पादन योग्य बना सकते हैं:

chmod +x file.php 

अपनी PHP फ़ाइल को शेबैंग के साथ शुरू करें आपके खोल को पता नहीं है कि किस दुभाषिया का उपयोग करना है:

#!/usr/bin/php 
<?php 
// your code here 
+37

यह '/ etc/crontab' का प्रारूप है, जो एक * system * crontab फ़ाइल है। ए * उपयोगकर्ता * क्रोंटैब का एक अलग प्रारूप होता है, जिसमें उपयोगकर्ता नाम फ़ील्ड शामिल नहीं होता है, क्योंकि यह उस उपयोगकर्ता के रूप में चलता है जो इसे सबमिट करता है। यदि आप गैर-मूल उपयोगकर्ता के रूप में क्रॉन नौकरी चलाने के लिए चाहते हैं, तो आपको इसे सबमिट करने के लिए 'crontab' कमांड का उपयोग करना चाहिए (और क्रॉन्टाब को संग्रहीत करने के बारे में चिंता न करें)। जब तक आपको वास्तव में आवश्यकता न हो, '/ etc/crontab' के साथ गड़बड़ न करें। –

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