2012-06-21 14 views
35

मैं अंतिम रन क्रॉन नौकरी का विवरण प्राप्त करना चाहता हूं। अगर कुछ आंतरिक समस्याओं के कारण नौकरी बाधित होती है, तो मैं क्रॉन नौकरी को फिर से चलाने के लिए चाहता हूं।यूनिक्स जैसी प्रणालियों में आखिरी रन क्रॉन नौकरी का विवरण?

नोट: मेरे पास सुपरसुर विशेषाधिकार नहीं है।

उत्तर

56

आप तारीख, समय, पहले से निष्पादित क्रॉन नौकरियों के का उपयोग कर उपयोगकर्ता और आदेश देख सकते हैं:

grep CRON /var/log/syslog 

यह सभी क्रॉन नौकरियों दिखाई देगा। आप केवल एक निश्चित उपयोगकर्ता द्वारा चालित नौकरियों देखना चाहता था, तो आप कुछ इस तरह का प्रयोग करेंगे:

grep CRON.*\(root\) /var/log/syslog 

ध्यान दें कि एक नौकरी के शुरू में क्रॉन लॉग ताकि आप लंबा नौकरियों के लिए अपने स्वयं रखने के लिए चाहते हो सकता है पूरा करने के लॉग; अगर सिस्टम नौकरी के माध्यम से आधा रास्ते नीचे चला गया, तो यह अभी भी लॉग में होगा!

संपादित करें: यदि आपके पास रूट पहुंच नहीं है, तो आपको अपना खुद का जॉब लॉग रखना होगा। यह केवल अपने काम के आदेश के अंत पर निम्नलिखित टैकिंग द्वारा किया जा सकता:

&& date > /home/user/last_completed 

फ़ाइल /home/user/last_completed हमेशा अंतिम दिनांक और समय काम पूरा होते हैं। यदि आप फ़ाइल में समाप्ति तिथियां जोड़ना चाहते हैं तो आप > के बजाय >> का उपयोग करेंगे।

आप अपने आदेश को एक छोटे से बैश या sh स्क्रिप्ट में डालकर भी प्राप्त कर सकते हैं और उस फ़ाइल को क्रॉन निष्पादित कर सकते हैं।

#!/bin/bash 
[command] 
date > /home/user/last_completed 

इस के लिए crontab होगा:

* * * * * bash /path/to/script.bash 
+0

रूट उपयोगकर्ता विशेषाधिकार के साथ विवरण देखने का कोई तरीका है। क्योंकि मेरे पास रूट विशेषाधिकार नहीं था। – kannanrbk

+0

आपको अपनी नौकरी अपना पूरा करने का लॉग रखना होगा। उदाहरण दिखाने के लिए संपादित किया गया। – Stecman

+2

क्या यह उत्तर रूट के रूप में चल रहे क्रॉन नौकरियों के साथ-साथ मेरे स्थानीय उपयोगकर्ता के रूप में चल रहे लोगों के लिए भी लागू होता है? – Richard

9

/var/log/cron क्रॉन जॉब लॉग होता है। लेकिन आपको देखने के लिए रूट विशेषाधिकार की आवश्यकता है।

+1

में मुझे पथ */var/log/* पर * cron * नाम के साथ कोई फ़ाइल या निर्देशिका नहीं दिखाई दे रही है। –

संबंधित मुद्दे