Anacron cron.daily मेरी स्क्रिप्ट नहीं चला रहा है


0

मैं लिनक्स (उबंटू) 16.04 पर हूं। मेरे पास स्क्रिप्ट का एक सेट है, /etc/cron.dailyजिसमें एनाक्रॉन को संभाला गया है। वे हर दिन ठीक-ठाक दौड़ते थे लेकिन मैंने देखा कि वे हाल ही में नहीं चल रहे थे। मुझे यकीन नहीं है कि यह एक अद्यतन या कुछ और के कारण है। यह मुझे पागल कर रहा है क्योंकि मैंने हर चीज की कोशिश की है जो मैं परिणाम प्राप्त किए बिना सोच सकता हूं। यहाँ मैंने अभी तक जाँच की है:

1) grep "Nov 22" /var/log/syslog | grep "cron.daily" -B 5 -A 5:

Nov 22 06:24:47 ubuntu16 dbus[816]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 22 06:24:47 ubuntu16 systemd[1]: Started Network Manager Script Dispatcher Service.
Nov 22 06:24:47 ubuntu16 nm-dispatcher: req:1 'dhcp4-change' [enp1s0]: new request (1 scripts)
Nov 22 06:24:47 ubuntu16 nm-dispatcher: req:1 'dhcp4-change' [enp1s0]: start running ordered scripts...
Nov 22 06:25:01 ubuntu16 CRON[6455]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
**Nov 22 06:25:01 ubuntu16 CRON[6456]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))**
Nov 22 06:30:01 ubuntu16 CRON[6485]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:35:01 ubuntu16 CRON[6513]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:39:01 ubuntu16 CRON[6536]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)
Nov 22 06:40:01 ubuntu16 CRON[6583]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:45:01 ubuntu16 CRON[6612]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)

तो ऐसा प्रतीत होता है कि cron.daily स्क्रिप्ट चल रही है या कम से कम anacron इसे चलाने की कोशिश करता है और इसमें कोई त्रुटि नहीं है। मैंने भी जाँच की और cron.daily ने हर दिन के लिए syslog में एक लॉग प्रविष्टि की तरह यह होना चाहिए।

2) मैंने सुनिश्चित किया कि मेरी स्क्रिप्ट निष्पादन योग्य थीं ls -l /etc/cron.daily/:

-rwxr-xr-x 1 root root  139 Nov 20 16:24 bingbot
-rwxr-xr-x 1 root root  142 Nov 20 16:24 bingbotb
-rwxr-xr-x 1 root root  142 Nov 20 16:25 bingbotc

3) मैं भी में एक लाइन जोड़ा /etc/cron.daily/bingbotमेरी स्क्रिप्ट के लिए कॉल उस तारीख यह सिर्फ यकीन है कि यह मेरी स्क्रिप्ट के साथ एक समस्या नहीं था बनाने के लिए भाग गया साथ एक फ़ाइल बनाने से पहले ( echo "Time: $(date). BINGREWARDS SCRIPT RAN." >> /home/user/bingbot.txt) बहरहाल, अगले दिन यह निर्माण नहीं किया bingbot.txtतो मुझे पता है कि यह नहीं चला।

4) मैंने अपनी स्क्रिप्ट को मैन्युअल रूप से चलाया /etc/cron.daily/bingbotऔर इसने पूरी तरह से काम किया और तारीख के साथ एक फ़ाइल बनाई।

5) मेरी स्क्रिप्ट को sudo परमिशन की जरूरत नहीं है।

6) की सामग्री /etc/cron.daily/bingbot:

#!/bin/sh
echo "Time: $(date). BINGREWARDS SCRIPT RAN." >> /home/toshiba/bingbot.txt
python /home/user/Desktop/BingRewards/mainpy

7) अद्यतन की कोशिश की चल anacron मैन्युअल sudo run-parts /etc/cron.dailyसफलतापूर्वक मेरी स्क्रिप्ट भाग गया है। दिलचस्प है ... लॉग इन में मुझे:

Nov 22 17:01:14 ubuntu16 anacron[15605]: Anacron 2.3 started on 2017-11-22
Nov 22 17:01:14 ubuntu16 anacron[15605]: Can't open timestamp file for job cron.daily: Permission denied
Nov 22 17:01:14 ubuntu16 anacron[15605]: Aborted

इसके समाप्त होने के बाद मैं sudo run-parts /etc/cron.dailyफिर से भागा और इसने वह त्रुटि नहीं दी; इसने कहा कि Nov 22 17:35:55 ubuntu16 anacron[16777]: Updated timestamp for job cron.daily' to 2017-11-22 शायद यह एक अनुमति त्रुटि थी और यह काम करना शुरू कर देगा। लेकिन इस अनुमति समस्या के कारण क्या हो सकता है?

UPDATE2 एनाक्रॉन आज भी स्क्रिप्ट चलाने में विफल रहा। ऊपर लॉग इन के समान "अनुमति अस्वीकृत" त्रुटि। इसके अलावा, लाइन को /etc/crontabएनाक्रॉन को रूट की तरह निष्पादित करना चाहिए:

25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

अद्यतन 3 मेरे कंप्यूटर को रिबूट करने के बाद समस्या ~ 3 दिनों के लिए चली गई लेकिन फिर से दिखाई दी। 25 तारीख को syslog में कहा गया कि cron.daily ने समाप्त कर दिया है जो अजीब व्यवहार की तरह लगता है। हालांकि 26 तारीख को यह काम करने लगा था क्योंकि इसने sloglog में कहा था कि इसने टाइम स्टैम्प को अपडेट कर दिया था। 27 तारीख को यह चलाने में पूरी तरह से विफल रहा। यह पागल है। मैं यह पता नहीं लगा सकता कि यह क्या कारण है।

क्या कारण हो सकता है कि यह मेरी स्क्रिप्ट को नहीं चलाता है?


खराब फॉर्मिंग के लिए क्षमा करें, यदि मॉड ठीक हो सकता है, तो किसी कारण से सब कुछ ठीक नहीं लग सकता है।
NULL

1
स्वरूपण की समस्या इसलिए थी क्योंकि कोडिंग के साथ स्वचालित नंबरिंग संघर्ष था, इसलिए मैंने इसे मैन्युअल नंबरिंग में बदल दिया: मुझे आशा है कि आप इसे सुधार मानते हैं।
AFH

कोई भी नहीं?? : (कृपया।
NULL

मैंने अभी आपके और अपडेट देखे हैं, मैं यह नहीं सोच सकता कि कारण कहाँ झूठ हो सकता है, और न ही क्या परीक्षण आगे निदान कर सकते हैं। जब मुझे समस्या हुई तो मैंने उनके साथ cronएक अतिरिक्त शेल लॉन्च करके काम किया, sleepजो उनके बीच कॉल के साथ कार्यों को चलाता है। वह उत्तर नहीं, जिसे आप ढूंढ रहे हैं, लेकिन यह तब तक काम करता है जब तक आप cronसमस्याओं को जमीन पर नहीं चलाते । वास्तव में, मेरे घर में रहने वाले अनुसूचक इतनी अच्छी तरह से काम करता है कि मैंने कभी भी कार्यों को वापस स्विच नहीं किया cron, हालांकि मैंने तब से अन्य कार्यों को सफलतापूर्वक जोड़ा है cron। इसके लायक ये किसके माध्यम से जोड़े गए थे crontab -e, नहीं /etc/cron.daily
AFH

जवाबों:


1

मुझे EL6 (डेबियन नहीं) पर एक ही समस्या थी, लेकिन इसका कारण एक ही हो सकता है। मेरे पास सुरक्षा स्क्रिप्ट के कारण /etc/cron.hourly/0anacron (गलत = chmod 600) पर गलत अनुमतियां थीं। मैंने cronie-anacron को फिर से स्थापित किया और इसने निष्पादित बिट (यानी 755 chmod) को बहाल किया और इसने काम करना शुरू कर दिया।

ध्यान दें कि / usr / bin / run-parts एक जाँच करता है कि "भागों" या /etc/cron.hourly में फ़ाइलें निष्पादन योग्य हैं या नहीं:

if [ -x $i ]; then

नहीं कि वे पठनीय हैं ... इसलिए इन फाइलों पर अनुमति देखें। यह भी ध्यान दें कि एनाक्रॉन वास्तव में क्रोन से बाहर है। हालांकि (भले ही आपके द्वारा निर्दिष्ट नौकरियां दैनिक थीं)

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