systemd टाइमर क्या हैं?
systemd टाइमर पारंपरिक cron जॉब का एक आधुनिक और शक्तिशाली विकल्प है, जिसे systemd सर्विस यूनिट को शेड्यूल और ट्रिगर करने के लिए डिज़ाइन किया गया है। क्लासिक cron सिस्टम की तुलना में बेहतर लचीलापन, लॉगिंग और डिपेंडेंसी हैंडलिंग देकर यह Linux पर ऑटोमेशन को सरल बनाता है।
cron के बजाय systemd टाइमर क्यों इस्तेमाल करें?
systemd टाइमर cron की तुलना में कई फायदे देते हैं, जिससे वे Linux वातावरण में टास्क ऑटोमेशन के लिए पसंदीदा विकल्प बन जाते हैं:
- एकीकृत प्रबंधन: अन्य systemd यूनिट के साथ टाइमर प्रबंधित करें (स्टार्ट, स्टॉप, इनेबल, डिसेबल)।
- बेहतर लॉगिंग:
journalctlका उपयोग करके विस्तृत लॉगिंग और स्थिति की निगरानी करें। - लचीला शेड्यूलिंग: कैलेंडर-आधारित सिंटैक्स और मोनोटोनिक (रिलेटिव) टाइमर दोनों को सपोर्ट करता है।
- छूटे हुए इवेंट का प्रबंधन: रीबूट के बाद छूटे हुए इवेंट को अपने आप पूरा कर लेता है।
त्वरित उदाहरण: हर दिन आधी रात को स्क्रिप्ट चलाएँ
यहाँ systemd टाइमर बनाने की चरण-दर-चरण मार्गदर्शिका है, जो हर दिन आधी रात को एक स्क्रिप्ट चलाता है:
1. सर्विस यूनिट बनाएँ
सर्विस यूनिट किए जाने वाले काम को परिभाषित करती है—इस मामले में, एक स्क्रिप्ट चलाना।
फ़ाइल बनाएँ /etc/systemd/system/daily-script.service:
[Unit]
Description=Run my daily script
[Service]
Type=oneshot
ExecStart=/usr/local/bin/myscript.sh
2. टाइमर यूनिट बनाएँ
टाइमर यूनिट तय करती है कि सर्विस कब चलनी चाहिए।
फ़ाइल बनाएँ /etc/systemd/system/daily-script.timer:
[Unit]
Description=Run my daily script every day at midnight
[Timer]
OnCalendar=*-*-* 00:00:00
# The format is: YYYY-MM-DD HH:MM:SS
# The above line schedules the task to run once per day at midnight.
Persistent=true
[Install]
WantedBy=timers.target
3. टाइमर को इनेबल करें और स्टार्ट करें
systemd को रीलोड करने, टाइमर को इनेबल करने और उसे तुरंत स्टार्ट करने के लिए निम्न कमांड चलाएँ:
sudo systemctl daemon-reload
sudo systemctl enable --now daily-script.timer
स्थिति और लॉग कैसे जाँचें
टाइमर सेट हो जाने के बाद, आप निम्न कमांड से उसकी स्थिति और लॉग पर नज़र रख सकते हैं:
- सक्रिय टाइमर जाँचें:
systemctl list-timers
- टाइमर का विवरण देखें:
systemctl status daily-script.timer
- स्क्रिप्ट निष्पादन के लॉग जाँचें:
journalctl -u daily-script.service
संदर्भ
- आधिकारिक systemd दस्तावेज़:
https://www.freedesktop.org/software/systemd/man/systemd.timer.html
यह systemd टाइमर का आधिकारिक दस्तावेज़ है, जिसमें सिंटैक्स, विकल्प और उदाहरण विस्तार से दिए गए हैं। - systemd टाइमर पर Arch Wiki:
https://wiki.archlinux.org/title/Systemd/Timers
व्यावहारिक उदाहरणों और समस्या-निवारण टिप्स के साथ समुदाय द्वारा तैयार मार्गदर्शिका। - systemd टाइमर पर Red Hat दस्तावेज़:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd#sect-Managing_Timers
एंटरप्राइज़ उपयोग के लिए systemd टाइमर की विस्तृत व्याख्या। - Ubuntu समुदाय सहायता Wiki:
https://help.ubuntu.com/community/systemd
यह पेज systemd का अवलोकन देता है और इसमें टाइमर के बारे में जानकारी शामिल है।
सारांश
systemd टाइमर Linux पर टास्क ऑटोमेशन के लिए एक मजबूत और आधुनिक समाधान हैं। cron जॉब की तुलना में ये बेहतर विश्वसनीयता, नियंत्रण और systemd के साथ एकीकरण देते हैं। एक साधारण सर्विस यूनिट और टाइमर यूनिट बनाकर, आप बैकअप, सिंक्रोनाइज़ेशन, क्लीनअप जॉब जैसे कामों को ऑटोमेट कर सकते हैं। चाहे आप निजी सर्वर संभाल रहे हों या एंटरप्राइज़ इंफ्रास्ट्रक्चर, systemd टाइमर कुशल Linux ऑटोमेशन के लिए एक ज़रूरी टूल हैं।