लिनक्स पर एक निश्चित समय पर स्क्रिप्ट कैसे चलाएं? [बन्द है]


81

मेरे पास एक पाठ फ़ाइल है जिसमें एक विशिष्ट तिथि और समय है। मैं उस फ़ाइल में निर्दिष्ट समय पर एक स्क्रिप्ट चलाने में सक्षम होना चाहता हूं आप इसे कैसे प्राप्त करेंगे? एक और स्क्रिप्ट बनाएं जो पृष्ठभूमि में चलती है (एक बहरा प्रकार) और हर सेकंड की जांच करता है कि क्या वर्तमान समय फ़ाइल में समय से मेल खा रहा है? क्या कोई और तरीका है? मशीन एक लिनक्स सर्वर है, डेबियन व्हीज़ी। अग्रिम में धन्यवाद


4
किसी भी कारण से क्रॉन काम नहीं करेगा?
लालची

12
यह विषय बंद क्यों है ?? यह एक बहुत ही उचित प्रश्न है। Google खोज आपको # 1 के रूप में ले जाता है और उत्तर बहुत सुंदर हैं। तो जो कोई इसका उत्तर दे सकता है, वह स्पष्ट है कि अंग्रेजी अवरुद्ध हो जाएगी
रिचर्ड डे री

2
@ रिचर्ड मुझे संदेह है कि कारण StackOverflow इस तरह के कई सवालों को बंद कर रहा है, उपयोगकर्ताओं को उचित StackExchange साइट पर यहाँ ऑफ-टॉपिक वाले प्रश्न डालने के लिए प्रोत्साहित करना है। वहाँ कुछ नए एसई साइटों है कि पहले मौजूद नहीं थे। उदाहरण के लिए, SO पर कुछ बहुत ही उपयोगी Vim प्रश्न हैं जो विषय के रूप में बंद कर दिए गए हैं, और अब जब एक Vi / Vim SE है, तो वे प्रश्न विषय पर होंगे। सिर्फ मुसकान। हालाँकि, यह अभी भी एक प्रोग्रामिंग प्रश्न की तरह लगता है
mgarey

2
Tbh मैं यह भूल जाता हूं कि मैं इसे सीखने के बाद हर बार क्रोन का उपयोग कैसे करूं, और मुझे कुछ भी उन्नत करने की आवश्यकता नहीं है।
सूडो

जवाबों:


148

निम्नलिखित को देखें:

echo "ls -l" | at 07:00

यह कोड लाइन एक विशिष्ट समय में "ls -l" निष्पादित करती है। यह एक विशिष्ट समय में कुछ (मेरे उदाहरण में एक कमांड) को निष्पादित करने का एक उदाहरण है। "एट" वह कमांड है जिसकी आप वास्तव में तलाश कर रहे थे। आप यहाँ विनिर्देशों को पढ़ सकते हैं:

http://manpages.ubuntu.com/manpages/precise/en/man1/at.1posix.html http://manpages.ubuntu.com/manpages/xenial/man1/at.1posix.html

आशा है कि इससे सहायता मिलेगी!


2
कोई त्रुटि मिली Can't open /var/run/atd.pid to signal atd. No atd running??
हैप्पीकोडिंग

2
आपको atdउपयोग करने के लिए चलने वाले डेमॉन की आवश्यकता है at। मंज़रो ओपनआरसी पर, आप बस के at-openrcसाथ डेमॉन एटीडी सेवा स्थापित और जोड़ सकते हैं : sudo rc-update add atdऔर इसके साथ शुरू करें sudo rc-service atd start। आमतौर पर atपैकेज में पहले से ही systemd(उबंटू सहित विभिन्न डिस्ट्रो लाइनक्स पर डिफॉल्ट इनिट / सर्विस सिस्टम) शामिल था, जिसे इसके साथ शुरू किया जा सकता है sudo systemctl start atdऔर इसके साथ ऑटोस्टार्ट को सक्षम किया जा सकता है sudo systemctl enable atd
मनोएल विलेला

8
मेरे मामले में यह "नौकरी 6 को 2017-08-21 10:53" तुरंत प्रिंट करता है ...
ज्वेनिल

BTW, मेरे बैश प्रलेखन एक at -cउपयोग का वर्णन करता है । यह क्या है, अगर किसी कमांड को निष्पादित करने का तरीका इसे std में पाइप करना है?
टॉम रसेल

क्या यह स्क्रिप्ट बाद में चलेगी यदि उस समय सिस्टम को बंद कर दिया गया था?
shrijit

18

atआदेश में इस उद्देश्य के (विपरीत के लिए विशेष रूप से मौजूद है cronजिसका पुनरावर्ती कार्य का समय निर्धारण के लिए है)।

at $(cat file) </path/to/script

1
बैश के साथ, आप लिखेंगे$(< file)
ग्लेन जैकमैन

10

क्रोन किसी चीज के लिए अच्छा है जो समय-समय पर चलेगा, जैसे हर शनिवार को सुबह 4 बजे। एनाक्रोन भी है , जो बिजली बंद करने, सोने और व्हाट्सएप के आसपास काम करता है। साथ ही पर

लेकिन एक-बंद समाधान के लिए, जिसे रूट या किसी भी चीज़ की आवश्यकता नहीं होती है, आप लक्ष्य तिथि के साथ-साथ वर्तमान समय के साथ-साथ वर्तमान समय की गणना करने के लिए दिनांक का उपयोग कर सकते हैं , फिर अंतर खोजने के लिए expr का उपयोग करें , और कई सेकंड सो जाओ


10
atयदि इस बीच मशीन को रिबूट किया जाता है, तो भी एक नौकरी निर्धारित रहेगी।
ट्रिपल

8

आमतौर पर लिनक्स में आप crontabइस तरह के कामों के लिए इस्तेमाल करते हैं। लेकिन आपको उस समय को निर्दिष्ट करना होगा जब आप "टाइमर सेटअप करें" - इसलिए यदि आप चाहते हैं कि यह फ़ाइल में ही कॉन्फ़िगर करने योग्य हो, तो आपको ऐसा करने के लिए कुछ तंत्र बनाना होगा।

लेकिन सामान्य तौर पर, आप उदाहरण के लिए उपयोग करेंगे:

30 1 * * 5 /path/to/script/script.sh

प्रत्येक शुक्रवार को दोपहर 1:30 बजे (सुबह) स्क्रिप्ट निष्पादित करेगा:

30 मिनट है

1 घंटा है

अगले 2 * हैं day of monthऔर month(उस क्रम में) और 5कार्यदिवस है


2
तो आप उस आदेश को कैसे ट्रिगर करेंगे?
आरोन उल्लाल

1
Crontab Guru ( crontab.guru ) crontab कॉन्फ़िगरेशन के लिए एक सहायक उपकरण है।
उमेश। एक भट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.