सवाल उपयोगकर्ता crontab कहाँ संग्रहीत किया जाता है?


चूंकि मेरे उपयोगकर्ता के क्रोंटैब को अपग्रेड करने के बाद मिटा दिया गया है। यह पहली बार ऐसा नहीं हुआ है और यह हर बार इसे बहाल करने में दर्द होता है।

मैं अपने उपयोगकर्ता के लिए crontab का बैक अप लेने में सक्षम होना चाहता हूं लेकिन इसके लिए मुझे यह जानना होगा कि यह कहां संग्रहीत है।


217
2017-11-13 14:26


मूल


यह अच्छा होगा अगर कोई कारण दे सके कि क्यों इसे मिटा दिया गया है - Walter Tross
@ वाल्टरट्रॉस हाँ यह काफी परेशान है। मुझे लगता है कि यह अद्यतन करने का दुष्प्रभाव है cron पैकेज लेकिन मैं सहमत हूं - ऐसा कुछ नहीं होना चाहिए जो होना चाहिए। - Oli♦
ओह, मैं नहीं जानता कि उपयोगकर्ता क्रॉन प्रति क्रॉन पैकेज अपग्रेड मिटा देगा! - pl1nk
@ pl1nk मुझे नहीं पता कि यह क्या मिटा रहा है लेकिन यह हो रहा है। मशीन में भूत, मुझे लगता है। - Oli♦
उपयोगकर्ता टेबल अस्थायी क्षेत्र / var / spool / cron / crontabs / $ USER पर संग्रहीत हैं, जैसे कि आपके अगले बूट या अपग्रेडिंग पर हटाया जा सकता है। - fcm


जवाब:


असल में, उन फ़ाइलों को हाथ से संभालने की अनुशंसा नहीं की जाती है। प्रति crontab मैन पेज:

प्रत्येक उपयोगकर्ता का अपना क्रॉन्टाब हो सकता है, और यद्यपि
  ये फाइलें हैं /var/spool/cron/crontabs, वो नहीं हैं
  सीधे संपादित करने का इरादा है।

नीचे फाइलें /var/spool अस्थायी / काम करने वाले माना जाता है, यही कारण है कि वे शायद अपग्रेड के दौरान हटा दिए जाते हैं, हालांकि एक नजदीक देखो cron पैकेज की अपग्रेड स्क्रिप्ट इस पर कुछ प्रकाश डाल सकती है।

वैसे भी, अपने क्रॉन प्रविष्टियों का बैक अप लेने या उन्हें अपनी होम निर्देशिका में फ़ाइल में रखने के लिए हमेशा एक अच्छा अभ्यास है।

मुझे लगता है कि आप उपयोग कर रहे हैं crontab -e फ्लाई पर crontab फाइलें बनाने के लिए। यदि ऐसा है, तो आप कर कर अपनी crontab फ़ाइल की "प्रतिलिपि" प्राप्त कर सकते हैं crontab -l। "बैकअप" प्राप्त करने के लिए फ़ाइल में पाइप करें:

crontab -l > my-crontab

फिर आप प्रविष्टियों को जोड़ने या संशोधित करने के लिए मेरी-crontab फ़ाइल को संपादित कर सकते हैं, और उसके बाद इसे crontab को देकर "इंस्टॉल करें":

crontab my-crontab

यह वही वाक्यविन्यास जांच करता है crontab -e


279
2017-11-13 15:21



crontab -l के माध्यम से जाने से आसान है /var/spool/cron/crontabs/$USER ज्यादातर उस फ़ाइल पर विचित्र अनुमतियों के कारण। - Oli♦
iptables-save क्रॉन का अच्छा ... - Parthian Shot
यदि आप क्रॉन्टाब के लिए अपने रूट खाते का उपयोग करते हैं, तो इसके सूड क्रॉन्टाब -एल> जड़ क्रोंटब के लिए रूट-क्रोंटैब! - FreeSoftwareServers
शायद हमें अपने आप को वापस स्वचालित रूप से वापस करने के लिए एक crontab रखना चाहिए :) :)? - PascalVKooten
के माध्यम से पोकिंग /var/spool/cron/crontabsजब आप कई उपयोगकर्ताओं से crontabs को क्यूरेट या जांचना चाहते हैं तो आसान है। - dhasenan


इसके अंदर संग्रहीत /var/spool/cron/crontabs उपयोगकर्ता नाम के तहत फ़ोल्डर।


46
2017-11-13 14:29





मैं अंत में पता चला क्यूं कर मेरे crontabs और Postfix स्थापना बूट के बाद तोड़ दिया रखा। यह वास्तव में बेवकूफ कारण है लेकिन ...

मैंने लिया /var/spool एक के रूप में घुड़सवार tmpfs रैम ड्राइव।

बेवकूफ लगता है और यह है, लेकिन मैंने अपने एसएसडी के जीवन को बढ़ाने के लिए पुराने एसएसडी-ट्वीक्स में से एक का पालन किया था। ऐसा करने में, मैंने अंधेरे से घुड़सवार किया /tmp, /var/tmp तथा /var/spool जैसा tmpfs प्रतिक्रियाओं के बारे में सोचने के बिना। मैंने सोचा /var/spool ऐसा था /proc/ या /run/ और यह सत्र की अवधि के लिए केवल उपयोगी था। मैं स्पष्ट रूप से गलत था।


27
2018-05-30 13:20



यह माउंट करने के लिए सुरक्षित होना चाहिए /tmp tmpfs के रूप में, लेकिन नहीं /var/tmp या /var/spool। /tmp अस्थायी भंडारण के लिए प्रयोग किया जाता है जो रिबूट पर खो जा सकता है। /var/tmp अस्थायी भंडारण के लिए प्रयोग किया जाता है जो रीबूट के बाद ही रहेगा। और जैसा कि आपने पाया है, /var/spool डेटा संसाधित होने के लिए है, जो रीबूट के बाद भी रहेगा। - thomasrutter
देख pathname.com/fhs/2.2/fhs-5.15.html - thomasrutter
ध्यान दें कि लिखना गिनती अब आधुनिक एसएसडी के साथ कोई मुद्दा नहीं है। - thomasrutter


अपने सिस्टम के सभी उपयोगकर्ताओं से सभी क्रॉन नौकरियों को सूचीबद्ध करने के लिए:

for user in $(cut -f1 -d: /etc/passwd)
do
  echo $user
  crontab -u $user -l
done

आपके मुद्दे का एक विकल्प उन्हें cron.d फ़ोल्डर में रखना होगा और उदाहरण के अनुसार प्रति क्रोन उपयुक्त उपयोगकर्ता निर्दिष्ट करना होगा:

00 01 * * * user /home/user/user-script.sh

10
2018-03-28 12:39



यदि आप किसी अन्य ड्राइव से क्रोंटैब को पुनर्प्राप्त कर रहे हैं, तो यह काम नहीं करेगा क्योंकि crontab -u आपके वर्तमान सिस्टम से चल रहा है। - JVE999
जबकि मुझे लगता है कि यह एक लाइनर है जिसमें यह 80 से कम वर्णों में फिट बैठता है और कुछ हद तक पठनीय है, मैं आम तौर पर प्रारूप में कोड डालना पसंद करता हूं जैसे कि कोई व्यक्ति कॉपी या पेस्ट कर सकता है या इसे स्क्रिप्ट में रख सकता है (और, एक लिपि में, यह होगा नहीं कोड की एक पंक्ति हो)। संपादन का सुझाव ... - Parthian Shot
इसके अलावा, मैं इसे एक में बदलने वाला था while read user लूप, उस मामले को संभालने के लिए जहां उपयोगकर्ता नाम रिक्त स्थान है, लेकिन जाहिर है कि यह कोई मुद्दा नहीं है। उपयोगकर्ता नाम वर्णों का बहुत सीमित सेट। - Parthian Shot