Url पर जाने के लिए CRON नौकरियों का उपयोग करना?


81

मेरे पास एक वेब एप्लिकेशन है जिसे बार-बार कार्य करना पड़ता है, संदेश और अलर्ट भेजना, मैं, पहले से, स्क्रिप्ट पृष्ठ का उपयोग उन कार्यों को करता हूं जब इसे ब्राउज़र में लोड किया जाता है अर्थात http://example.com/tasks.php और मैंने शामिल किया यह मेरे वेब अनुप्रयोग के हर पृष्ठ में iframe के माध्यम से है।

अब मैं इसे CRON नौकरियों का उपयोग करने के लिए बदलना चाहता हूं क्योंकि पहले दृष्टिकोण से जाम का प्रदर्शन हो सकता है, इसलिए मैं कैसे CRON नौकरी बना सकता हूं जो http://example.com/tasks.php पर जाती है । हालाँकि, मैं नहीं चाहता कि यह क्रोन जॉब दिन जैसे आउटपुट फाइल बनाये। *

मैं साझा होस्टिंग सेवा पर एप्लिकेशन को होस्ट करता हूं जो cPanel के माध्यम से CRON नौकरियों की अनुमति देता है।

जवाबों:


220
* * * * * wget -O - http://yoursite.com/tasks.php >/dev/null 2>&1

वह आपके लिए काम करना चाहिए। बस एक wgetस्क्रिप्ट है जो पेज को लोड करती है।

उपयोग करने का -O -अर्थ है कि वेब अनुरोध का आउटपुट STDOUT (मानक आउटपुट) को भेजा जाएगा

जोड़कर >/dev/nullहम मानक उत्पादन को एक ब्लैक होल में पुनर्निर्देशित करने का निर्देश देते हैं। जोड़कर 2>&1हम STDERR (त्रुटियों) को STDOUT को भी भेजने का निर्देश देते हैं, और इस प्रकार सभी आउटपुट एक ब्लैकहोल को भेजे जाएंगे। (इसलिए यह वेबसाइट को लोड करेगा, लेकिन कभी भी कहीं भी फाइल न लिखें)


इन सभी तारांकन पर क्या हैं
अश्वकन मोबयेन खियाबानी

@AshkanMobayenKhiabani वे क्रोन सिंटैक्स का हिस्सा हैं: nncron.ru/help/EN/working/cron-format.htm
मिच

1
एकमात्र समाधान जिसने मेरे लिए रास्पियन स्ट्रेच लाइट के तहत काम किया। उत्तम! : डी
उस-बेन

4
एक नोट: यह URL को उद्धृत करने के लिए एक अच्छा विचार है, अगर इसमें एक क्वेरी है तो यह सब कुछ उद्धृत किए बिना काम नहीं कर सकता है।
जैकजेओ

24

आपको पुनर्निर्देशन की आवश्यकता नहीं है, केवल उपयोग करें

* * * * * wget -qO /dev/null http://yoursite.com/tasks.php

1
पुनर्निर्देशन की आवश्यकता क्यों नहीं है?
ब्रैडली फ्लड

1
-q|--quiet Turn off Wget's output.
डिएगो टोरेस मिलानो

1
आपकी कमांड भी पुनर्निर्देशन का उपयोग करती है, लेकिन अन्य रूप में -qO / dev / null, है ना?
पावेल नजारोव

कड़ाई से बोलना, न कि पुनर्निर्देशन के रूप में I / O पुनर्निर्देशन एक खोल की बात है
डिएगो टोरेस मिलानो

21

आप curlइस रूप में उपयोग कर सकते हैं धागे

आलसी के लिए:

*/5 * * * * curl --request GET 'http://exemple.com/path/check.php?param1=1'

यह हर 5 मिनट में निष्पादित किया जाएगा।


10

आप स्थानीय कमांडलाइन php-cli का भी उपयोग कर सकते हैं:

* * * * * php /local/root/path/to/tasks.php > /dev/null

यह आपके वेबसर्वर के लिए तेज़ और घटता लोड है।


7

मैं इस आदेश का उपयोग करें

wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1

क्रोन कार्य:

* * * * * wget -q -O /dev/null "http://example.com/some/cron/job.php" > /dev/null 2>&1

1
यह कुछ समझाने की जरूरत है, लेकिन यह बहुत अच्छी तरह से काम करता है। विशेष रूप से अगर, मेरी तरह, आपके URL में एक एम्परसेंड है। उद्धरण के अंदर url डालना एक समाधान है। आप url से पहले / dev / null क्यों डालते हैं?
Gfra54

2
यह शायद देर से जवाब है, लेकिन इसकी कभी देर नहीं हुई। कारण है: / dev / null एक विशेष फाइल सिस्टम ऑब्जेक्ट है जो इसमें लिखी गई हर चीज को फेंक देता है। इसमें एक धारा को पुनर्निर्देशित करने का अर्थ है एक आउटपुट को छिपाना। 2> और 1 हिस्सा अर्थ है "दोनों उत्पादन और त्रुटि धाराओं redirect"।
अब्बास आरिफ

ठीक है, तो इसका मतलब है कि wget की सामग्री को / dev / null पर पुनर्निर्देशित किया गया है (इसलिए इसे मूल रूप से हटा दिया गया और अनदेखा कर दिया गया)? धन्यवाद
Gfra54

1
हां / dev / null में भेजे गए आउटपुट को अनदेखा किया जाता है।
अब्बास आरिफ

2

आप इसे यूआरएल के साथ मापदंडों के लिए उपयोग कर सकते हैं:

lynx -dump "http://vps-managed.com/tasks.php?code=23456"

lynx सभी सिस्टम पर डिफ़ॉल्ट रूप से उपलब्ध है।


-dump फाइल करने के लिए पेज की सामग्री को डंप करता है। यह संभवतः अवांछित दुष्प्रभाव है।
विचर विज़नर



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.