मुझे पता है कि उपयोगकर्ता www-data के लिए क्रॉन जॉब जोड़ने का उचित तरीका crontab -u www-data -e चलाना है

तो ऐसा करने के लिए dockerfile में मुझे RUN crontab -u www-data /some_where/crontab.conf जैसी लाइन जोड़नी चाहिए

लेकिन मैंने पाया कि अगर मैं ऐसा करता हूं, तो यह भी काम करता है (डॉकर छवि अल्पाइन 3.7 पर आधारित है)।

ADD /some_where/crontab /etc/crontabs/www-data
RUN chmod 0644 /etc/crontabs/www-data

लेकिन मुझे यह बताते हुए दस्तावेज़ नहीं मिल रहा है कि यह क्यों काम करता है। तो यह क्यों काम करता है और क्या इसका मतलब यह है कि अगर मैं www को/etc/crontabs नामक एक और फाइल जोड़ता हूं तो यह www के लिए क्रोनजॉब बना देगा (मान लें कि मेरे पास www उपयोगकर्ता है)?

1
Qiulang 7 जुलाई 2019, 08:11

1 उत्तर

सबसे बढ़िया उत्तर

देखें यह:

बहुउपयोगकर्ता क्रोन

चूंकि यूनिक्स एक बहुउपयोगकर्ता ओएस है, इसलिए कुछ ऐप्स को समर्थन करने में सक्षम होना चाहिए एकाधिक उपयोगकर्ता, क्रॉन इनमें से एक है। प्रत्येक उपयोगकर्ता का अपना क्रोंटैब हो सकता है फ़ाइल, जिसे crontab कमांड द्वारा बनाया / संपादित / हटाया जा सकता है। इस कमांड एक व्यक्तिगत क्रॉस्टैब फ़ाइल बनाता है और यद्यपि यह एक टेक्स्ट फ़ाइल है, जैसा कि /etc/crontab है, इसे सीधे संपादित नहीं किया जाना चाहिए। क्रोंटैब फ़ाइल है अक्सर /var/spool/cron/crontabs/<user> (Unix/Slackware/BSD) में स्टोर किया जाता है, /var/spool/cron/<user> (रेडहैट) या /var/cron/tabs/<user> (एसयूएसई), लेकिन आपके द्वारा चलाए जा रहे अनx स्वाद के आधार पर कहीं और रखा जा सकता है।

और अल्पाइन में, यह /var/spool/cron/crontabs में भी है, बस /var/spool/cron/crontabs /etc/crontabs का प्रतीक लिंक है, इसलिए आप इसे /etc/crontabs में भी डाल सकते हैं:

/etc/crontabs # ls -alh  /var/spool/cron/crontabs
lrwxrwxrwx    1 root     root          13 Jun 19 17:14 /var/spool/cron/crontabs -> /etc/crontabs
0
atline 7 जुलाई 2019, 06:00