टाइम स्टैम्प के साथ लॉग को एक क्रॉस्टैब में कैसे जोड़ा जाए


9

Crontab में, मैंने एक दैनिक बैकअप स्क्रिप्ट निर्धारित की। अब जब क्रोन स्क्रिप्ट को निष्पादित करता है तो स्थिति लॉग फ़ाइल में लॉग की जाती है जैसा कि नीचे दिखाया गया है।

0 0 * * * /home/backup.sh > /home/groupz/db-backup/fbackup.log 2>&1  

अब, जब क्रोन एक स्क्रिप्ट निष्पादित करता है, तो लॉग की सामग्री हर बार नवीनीकृत हो जाती है। इसलिए, मैं चाहता हूं कि सामग्री को एक ही फ़ाइल में निष्पादित समय के स्टैंप के साथ और मौजूदा सामग्री के साथ प्रत्येक समय की सामग्री के नीचे जोड़ा जाए। मैं यह कैसे कर सकता हूँ।


अपने crontab में "%" चरित्र से बचने के लिए मत भूलना! +%d-%m-%y/%H:%M:%Sबन जाएगा:+\%d-\%m-\%y/\%H:\%M:\%S
विल्मारियन

जवाबों:



5

किसी फ़ाइल में टाइमस्टैम्प कैसे प्राप्त करें

किसी फ़ाइल में टाइम स्टैम्प जोड़ने के लिए आप अधिक विवरण के लिए dateदेख सकते हैं man date। उदाहरण के लिए यदि आप टर्मिनल में उपयोग करते हैं तो आपके पास आउटपुट जैसे,

$ date +%d-%m-%y/%H:%M:%S
19-12-13/09:14:42

आउटपुट प्रारूप में है dd-mm-yy/hour:min:sec

यदि आप किसी फाइल में टाइम स्टैम्प लगाना चाहते हैं, तो उपयोग करें

date +%d-%m-%y/%H:%M:%S > filename

पुनर्निर्देशन

यदि आप उपयोग करते हैं date +%d-%m-%y/%H:%M:%S > filenameतो दिनांक को फ़ाइल में संग्रहीत किया जाएगा, लेकिन यह हर बार जब आप कमांड का उपयोग करते हैं तब इसे ओवरराइट किया जाएगा। मौजूदा फ़ाइल उपयोग में इसे जोड़ने के लिए,

date +%d-%m-%y/%H:%M:%S >> filename

यह आपकी मौजूदा फ़ाइल के अंत में अंतिम निष्पादन आउटपुट जोड़ देगा।

आप अपने मामले में क्या करते हैं

आप निम्न पंक्ति को अपने अंत में जोड़ सकते हैं /home/backup.sh,

date +%d-%m-%y/%H:%M:%S

और क्रॉस्टैब में निम्नलिखित का उपयोग करें,

0 0 * * * /home/backup.sh >> /home/groupz/db-backup/fbackup.log 2>&1

मुझे लगता है कि उपरोक्त संशोधन को वही करना चाहिए जो आप चाहते हैं।


यह स्वीकृत उत्तर होना चाहिए
डोमिनिक

1

(डेबियन जेसी पर) tsकमांड का उपयोग करें जो moreutilsपैकेज का हिस्सा है । उदाहरण के लिए:

0 0 * * * /home/backup.sh | ts '[%Y-%m-%d %H:%M:%S]' > /home/groupz/db-backup/fbackup.log 2>&1  

यह टाइमस्टैम्प को आउटपुट की हर लाइन तक पहुंचाएगा और इसे आपके लॉग में सेव करेगा।


1
मेरे लिए काम नहीं किया, मैं 16.04 Ubuntu का उपयोग कर रहा हूँ। मैंने स्थापित कियाmoreutils
हम्मैन सैमुअल

0

चूँकि आप एक शेल स्क्रिप्ट चला रहे हैं, तो लाइन को क्यों न जोड़ें,

some ./script    
echo `date -u `
some ./other/script

आपकी लिपि में अर्थात /home/backup.sh

फिर

0 0 * * * /home/backup.sh >> /home/groupz/db-backup/fbackup.log 2>&1

fbackup से पहले / बाद में एक लाइन को जोड़ देगा। Thu Jun 14 11:10:22 UTC 2018 की तरह


के echo `date -u`रूप में ही नहीं है data -u?
स्टीफन राउच

इको एक लाइन ब्रेक AIUI जोड़ता है।
pbhj

-2

आप इनमें से दो चीजों '>' का उपयोग करके किसी फ़ाइल में कुछ जोड़ सकते हैं।

$ echo "test" >> test.txt
$ echo "test" >> test.txt

$ cat test.txt
test
test

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