हर घंटे एक निष्पादन योग्य चलाने के लिए क्रॉन जॉब कैसे सेट करें?


92

मुझे एक क्रॉन नौकरी स्थापित करने की आवश्यकता है जो हर घंटे में एक बार जीसीसी का उपयोग करके एक संकलित संकलन चलाता है।

मैंने रूट के रूप में लॉग इन किया और टाइप किया crontab -e

फिर मैंने निम्नलिखित दर्ज किया और फ़ाइल को बचाया।

0 * * * *  /path_to_executable

हालांकि, क्रोन नौकरी नहीं करती है।

मैं देखता हूं कि जब मैं टाइप करता /...path_to_executableहूं तो मुझे एक विभाजन दोष मिलता है। मैं केवल उस फ़ोल्डर से निष्पादन योग्य निष्पादित कर सकता हूं जो इसमें स्थित है। क्या कोई तरीका है जिससे मैं इस समस्या को हल कर सकता हूं?


8
यह एक बुरा शीर्षक है। आप जानते हैं कि क्रोन जॉब कैसे सेट करें; आप यह जानना चाहते हैं कि कमांड को कैसे काम करना है।
डेविड थार्नले

5
superuser.com पर है (सीधे प्रोग्रामिंग से संबंधित नहीं)
फिलिप

3
गलत शीर्षक, लेकिन यह है कि मैं कैसे समाधान पाया।
रोमन होल्जनर

आपका निष्पादन योग्य शायद शुरू हो गया है। मैं इसके अंदर syslog (3) का उपयोग करने की सलाह देता हूं (और कम से कम शुरुआत में एक लॉग संदेश बनाएं, यह सुनिश्चित करने के लिए कि यह शुरू हो गया है)।
बेसिल स्टेयरनेविच

जवाबों:


157
0 * * * * cd folder_containing_exe && ./exe_name

तब तक काम करना चाहिए जब तक कि कार्यक्रम को चलाने के लिए कुछ और होना चाहिए।


11
इसके बजाय && का उपयोग करें, अन्यथा इंटरसेस्टिंग सामान हो सकता है (विशेषकर जब आरएम के साथ उपयोग किया जाता है)
रिएक्टोर्मोन्क

4
आप सही हे। && काफी बेहतर है अगर कोई मौका हो तो cd लक्ष्य मौजूद नहीं होता है (उदाहरण के लिए यदि diretory एक NFS सर्वर पर होता है जो नीचे होता है)।
जोस्ट

मेरा दिन बचाओ! धन्यवाद!
चियाकी

ध्यान दें कि आपको निरपेक्ष पथ (यानी रूट डायरेक्टरी से) afaik
drevicko

8

इसे हल करने का उपाय यह पता लगाना है कि आपको विभाजन की गलती क्यों हो रही है, और इसे ठीक करें।



2

क्या आपका मतलब है कि निष्पादन योग्य चलाने में विफल रहता है, अगर किसी अन्य निर्देशिका से मंगवाया गया हो? यह निष्पादन योग्य पर एक बग है। एक संभावित कारण निष्पादन योग्य हो सकता है स्थापित फ़ोल्डर से कुछ साझा किए गए कामेच्छा की आवश्यकता होती है। आप पर्यावरण चर की जाँच कर सकते हैंLD_LIBRARY_PATH


2

आप उबंटू का उपयोग कर रहे हैं, तो आप इन फ़ोल्डरों में से एक में एक खोल स्क्रिप्ट डाल सकते हैं: /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthlyया/etc/cron.weekly

अधिक विवरण के लिए, इस पोस्ट को देखें: /ubuntu/2368/how-do-i-set-up-a-cron-job


0

चूंकि मैं उस तरह से Cनिष्पादन योग्य नहीं चला सकता था, इसलिए मैंने एक सरल लिखा shell scriptजो निम्न कार्य करता है

cd /..path_to_shell_script
./c_executable_name

क्रोन नौकरियों की सूची में, मैं शेल स्क्रिप्ट को कॉल करता हूं।


0

उपयोग

path_to_exe >> log_file

अपने कमांड के आउटपुट को देखने के लिए भी त्रुटियों को पुनर्निर्देशित किया जा सकता है

path_to_exe &> log_file

भी आप उपयोग कर सकते हैं

crontab -l

यह देखने के लिए कि क्या आपके संपादन सहेजे गए थे।


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