मैं एक स्क्रिप्ट बनाना चाहता हूं जो एक txt फ़ाइल में दिनांक और समय के लेखन को शेड्यूल करता है।

*1 * * * * date >> ultimoscript.txt

अब मुझे यह जानने की जरूरत है कि यह क्रॉस्टैब कहां है या मैं स्क्रिप्ट का उपयोग करके पिछला कोड कैसे लिख सकता हूं।

मैंने crontab -e के साथ प्रयास किया लेकिन यह संभव नहीं है

contrab - e *1 * * * * date >> ultimoscript.txt

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

0
Isma ocaña 9 पद 2018, 17:24

2 जवाब

सबसे बढ़िया उत्तर
crontab -l > tempfile
crontab <<EOF
`cat tempfile`
* * * * * date >> ultimoscript.txt
EOF

उपरोक्त कोड उपयोगी है यदि आप वर्तमान crontabs में crontab प्रविष्टि जोड़ना चाहते हैं। यहाँ स्पष्टीकरण है:

Crontab -l वर्तमान उपयोगकर्ता के लिए वर्तमान crontab प्रविष्टियों को सूचीबद्ध करता है। इसे एक अस्थायी फ़ाइल में सहेजें। हम tempfile में एक नई crontab प्रविष्टि जोड़ने जा रहे हैं।

कमांड सिर्फ क्रोंटैब है। जब क्रॉस्टैब को मापदंडों के बिना लागू किया जाता है, तो यह सभी क्रॉन प्रविष्टियों को इसके स्टड के साथ बदल देता है। इस मामले में, हम एक हेरेडोक (< . के बीच की सामग्री) से स्टड को पुनर्निर्देशित कर रहे हैं

अगर मैं इस तरह से कोड लिखता तो मैं इसे और अधिक पठनीय मानता, लेकिन मैं आपको ऊपर एक त्वरित उत्तर दे रहा था:

crontab -l > tempfile
echo '* * * * * date >> ultimoscript.txt' >>tempfile
crontab <tempfile
0
Mark 9 पद 2018, 17:54

आप रन कमांड द्वारा संपादित कर सकते हैं:

crontab -e

और फिर वहां डालें:

* * * * * date >> ultimoscript.txt

क्रोंटैब को सहेजें और क्रॉन सेवा को पुनरारंभ करें

0
shushu304 9 पद 2018, 17:33