रूट क्रोन स्क्रिप्ट नहीं चलाएगा (अनुमति से इनकार)


17

मैंने अपने रूट क्रोन टैब को समय-समय पर इस कमांड का उपयोग करके किसी विशेष उपयोगकर्ता के फ़ोल्डर में स्थित स्क्रिप्ट को निष्पादित करने के लिए संपादित किया है:

sudo crontab -e

जब क्रोन स्क्रिप्ट चलाता है, तो यह आउटपुट है:

sh: 1: /home/user/Location/Of/Script: Permission denied

मुझे लगा कि रूट क्रोन को कुछ भी करने की अनुमति थी। मेरे पास कोई समस्या नहीं है जब मैं मैन्युअल रूप से इस स्क्रिप्ट को रूट के रूप में चलाता हूं।

मैंने प्रलेखन में पढ़ा है कि आगे त्रुटि जानकारी यहाँ मिल सकती है:

sudo cat /var/log/syslog

यहाँ मैं क्या पाया:

Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)

हालांकि, मुझे लगता है कि यह अनुमति से इनकार मुद्दे से संबंधित नहीं है।

तो मुझे वास्तव में क्या करने की आवश्यकता है?


3
क्या आप अनुमतियाँ सूचीबद्ध कर सकते हैं /home/user/Location/Of/Script? जैसे la -l /home/user/Location/Of/Script। संयोग से, आपको सामान्य आंतरिक उपयोग के लिए एक एमटीए स्थापित करना होगा, भले ही आप बाहरी रूप से ईमेल भेज / प्राप्त नहीं कर रहे हों। मुझे आश्चर्य है कि आपके सिस्टम में यह पहले से इंस्टॉल नहीं है।
फहीम मीठा

1
यह सभी प्रकार की चीजों के कारण हो सकता है। कृपया कमांड का आउटपुट @FaheemMitha के साथ-साथ आपके crontab
terdon

-rw-r - r-- (यह मुद्दा था) -धन्यवाद
Lonniebiz

आप कहते हैं कि आपने इसे "-rw-r - r--" के साथ हल किया है, लेकिन मुझे नहीं पता कि यह क्या है या इसका उपयोग कैसे करना है और मेरे पास एक ही मुद्दा है जैसा कि इस धागे में वर्णित है। क्या आप पोस्टर के लिए अपने समाधान के साथ कुछ अधिक विशिष्ट हो सकते हैं? मेरे जैसे लोग इसके लिए वास्तव में आभारी होंगे। धन्यवाद!
जॉनसन जेसन

@ जॉनसनसन: मुद्दा यह था कि स्क्रिप्ट-फाइल पर अनुमतियों ने निष्पादन की अनुमति नहीं दी थी। स्वीकृत उत्तर को देखें, जो दिखाता है कि स्क्रिप्ट को निष्पादित करने की अनुमति कैसे दी जाती है।
लोनीबेल जूल

जवाबों:


19

मुझे लगता है कि आपकी स्क्रिप्ट निष्पादन योग्य नहीं है। तो, इसे बनाने के लिए निम्न कमांड का उपयोग करें:

chmod +x /home/user/Location/Of/Script

या, यदि आप उस स्क्रिप्ट के मालिक नहीं हैं:

sudo chmod +x /home/user/Location/Of/Script

तो क्रोन के लिए स्क्रिप्ट को चलाने के लिए यह निष्पादन योग्य होना चाहिए, लेकिन मैन्युअल रूप से रूट को इस ध्वज की आवश्यकता नहीं है, है ना?
लोनिविज

1
निर्भर करता है कि आप स्क्रिप्ट को मैन्युअल रूप से कैसे चलाते हैं। यदि आप स्क्रिप्ट का उपयोग करते हैं ./Sciptया /home/user/Location/Of/Scriptयह ठीक नहीं है। आम तौर पर किसी भी स्क्रिप्ट को निष्पादन योग्य होना चाहिए। लिनक्स में शेल स्क्रिप्ट कैसे चलाएं देखें ।
रादु राईडेनु

यह समझ में आता है, लेकिन मैं वास्तव में इस स्क्रिप्ट को मैन्युअल रूप से चला रहा हूं ।/script तरीका बिना किसी अनुमति के समस्याओं का सामना किए बिना। मदद के लिये शुक्रिया।
लोनिविबिज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.