Linux Job Scheduling: cron, crontab, at आणि systemd Timers सोप्या भाषेत
काही काम आपोआप व्हायला हवं: रोज रात्री backup, दर सोमवारी report, दर तासाला cleanup. Linux यासाठी तीन tools देतो. cron ठराविक schedule ने jobs चालवतो. at नंतरच्या वेळेला एकदाच job चालवतो. systemd timers हा आधुनिक पर्याय, logs आणि catch-up सह. प्रत्येक command आणि प्रत्येक time field एक-एक करून शिकू.
या chapter मध्ये तुम्ही काय शिकाल
- Cron चे पाच time fields वाचा आणि लिहा
- crontab -e, -l, -r आणि -u वापरा
- Special strings आणि /etc/cron.d वापरा
- Cron PATH, output आणि overlap problems सोडवा
- at, atq आणि atrm ने one-time jobs
- OnCalendar आणि Persistent सह systemd timers लिहा
1. रोजचं उदाहरण: दूधवाला आणि alarm
हे का लागतं?
दूधवाला न सांगता रोज सकाळी 6 ला येतो. हा repeating schedule. दुपारी 4:30 च्या dentist visit चा phone alarm एकदाच वाजतो. आणि चांगलं alarm app phone बंद असेल तर 'missed alarm' दाखवतं, म्हणजे तरी कळतं.
हे काय आहे?
दूधवाला = cron. One-time alarm = at. Missed-alarm वालं alarm app = Persistent=true सह systemd timer.
कसं करायचं (step by step)
2. पाच time fields
हे का लागतं?
प्रत्येक cron चूक चुकीच्या field ने सुरू होते. एकदा शिका आणि कोणताही schedule वाचता येईल.
हे काय आहे?
minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-7, 0 आणि 7 रविवार). * = प्रत्येक. , = list (1,15). - = range (1-5). / = step (*/10). मग command.
| Schedule | अर्थ |
|---|---|
| */5 * * * * | दर 5 minutes |
| 0 2 * * * | रोज 02:00 |
| 30 9 * * 1-5 | सोमवार ते शुक्रवार 09:30 |
| 0 0 1 * * | प्रत्येक महिन्याच्या 1 तारखेला मध्यरात्री |
| 0 */6 * * * | दर 6 तासांनी |
| 15 10 * * 0 | रविवार 10:15 |
कसं करायचं (step by step)
- रात्री 2 ला backup.
0 2 * * * /usr/local/bin/backup.sh
Output:
(a crontab line)
याचा अर्थ: Minute 0, hour 2, रोज.
- Office hours report.
30 9 * * 1-5 /usr/local/bin/report.sh
Output:
(a crontab line)
याचा अर्थ: फक्त weekdays.
- विश्वास ठेवण्याआधी schedule तपासा.
systemd-analyze calendar 'Mon..Fri 09:30'
Output:
Original form: Mon..Fri 09:30
Normalized form: Mon..Fri *-*-* 09:30:00
Next elapse: Mon 2026-10-26 09:30:00 IST
याचा अर्थ: पुढचा run time.
3. crontab -e आणि -l: तुमचे jobs edit आणि list
हे का लागतं?
प्रत्येक user चा स्वतःचा crontab. crontab मधून edit केल्याने syntax तपासलं जातं आणि crond ला कळतं.
हे काय आहे?
crontab -e तुमचा crontab $EDITOR मधे उघडतो. Save केलं की install. crontab -l print. /var/spool/cron files हाताने कधी edit नका. # ने सुरू lines comments.
कसं करायचं (step by step)
- Editor उघडा.
EDITOR=nano crontab -e
Output:
crontab: installing new crontab
याचा अर्थ: Save नंतर दिसतं.
- Jobs list.
crontab -l
Output:
# nightly backup
0 2 * * * /usr/local/bin/backup.sh
याचा अर्थ: cron तुमच्यासाठी काय चालवेल.
- अजून crontab नाही.
crontab -l
Output:
no crontab for ec2-user
याचा अर्थ: नव्या user साठी normal.
4. crontab FILE, -r आणि -u
हे का लागतं?
Automation tools files मधून crontabs install करतात. Admins कधी दुसऱ्या user चे jobs manage करतात.
हे काय आहे?
crontab FILE पूर्ण crontab file ने replace. crontab -r प्रश्न न विचारता सगळे jobs delete (-i आधी विचारतो). sudo crontab -u USER -l किंवा -e दुसऱ्या user वर. आधी backup: crontab -l > ~/cron.bak.
कसं करायचं (step by step)
- Jobs backup.
crontab -l > ~/cron.bak && wc -l ~/cron.bak
Output:
2 /home/ec2-user/cron.bak
याचा अर्थ: कोणत्याही बदलाआधी हे.
- File मधून install.
crontab ~/cron.bak
Output:
(no output)
याचा अर्थ: सगळं replace.
- App user चे jobs.
sudo crontab -u shop -l
Output:
*/10 * * * * /opt/shop/bin/sync
याचा अर्थ: फक्त बघणं.
- प्रश्नासह delete.
crontab -ri
Output:
crontab: really delete ec2-user's crontab? (y/n)
याचा अर्थ: नुसतं -r विचारत नाही. सावध.
5. Special strings: @reboot, @daily आणि इतर
हे का लागतं?
काही schedules शब्दात वाचायला सोपे. Boot ला एकदा चालवायला cron मधे @reboot हाच मार्ग.
हे काय आहे?
@reboot (crond start ला), @hourly (0 * * * *), @daily किंवा @midnight (0 0 * * *), @weekly (0 0 * * 0), @monthly (0 0 1 * *), @yearly (0 0 1 1 *).
कसं करायचं (step by step)
- Boot नंतर cache warm.
@reboot sleep 30 && /opt/shop/bin/warm-cache
Output:
(a crontab line)
याचा अर्थ: sleep network ला वेळ देतो.
- Weekly cleanup.
@weekly find /tmp/shop -mtime +7 -delete
Output:
(a crontab line)
याचा अर्थ: रविवार मध्यरात्री.
6. /etc/crontab, /etc/cron.d आणि cron.daily
हे का लागतं?
System आणि package jobs files मधे, user crontab मधे नाही, म्हणजे Git मधे ship आणि review करता येतात.
हे काय आहे?
/etc/cron.d आणि /etc/crontab मधल्या files मधे सहावा field: user. /etc/cron.hourly, daily, weekly, monthly मधल्या scripts run-parts (किंवा anacron) चालवतो; executable हव्या आणि Debian वर नावात dot नको.
कसं करायचं (step by step)
- User field सह system job.
echo '*/15 * * * * shop /opt/shop/bin/sync >> /var/log/shop/sync.log 2>&1' | sudo tee /etc/cron.d/shop-sync
Output:
*/15 * * * * shop /opt/shop/bin/sync >> /var/log/shop/sync.log 2>&1
याचा अर्थ: shop user म्हणून.
- Daily script.
sudo install -m 755 cleanup.sh /etc/cron.daily/cleanup
Output:
(no output)
याचा अर्थ: Extension नाही, mode 755.
- कोणत्या daily scripts चालतील?
run-parts --test /etc/cron.daily
Output:
/etc/cron.daily/cleanup
/etc/cron.daily/logrotate
याचा अर्थ: काय चालेल ते list.
7. cron environment: PATH, SHELL आणि MAILTO
हे का लागतं?
'Terminal मधे चालतं पण cron मधे नाही' हा सर्वात common cron problem. cron खूप छोटं environment देतो.
हे काय आहे?
cron /bin/sh, PATH=/usr/bin:/bin, user चं HOME, .bashrc नाही. Fix: full paths, किंवा crontab च्या वर PATH= आणि SHELL=. MAILTO=you@x output mail करतो; MAILTO="" mail बंद. cron मधे % special: \% असं escape.
कसं करायचं (step by step)
- cron चं environment बघा.
* * * * * env > /tmp/cron-env.txt
Output:
(after one minute) PATH=/usr/bin:/bin
SHELL=/bin/sh
HOME=/home/ec2-user
याचा अर्थ: खूप छोटा PATH.
- वर set करा.
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin
MAILTO=""
Output:
(crontab header lines)
याचा अर्थ: आता jobs ला aws, node वगैरे सापडतात.
- date मधे % escape.
0 1 * * * tar czf /backup/site-$(date +\%F).tgz /var/www
Output:
(a crontab line)
याचा अर्थ: \ शिवाय line % ला तुटते.
8. cron output log करणं आणि runs तपासणं
हे का लागतं?
शांतपणे fail होणारा job हा job नसण्यापेक्षा वाईट. तो चालला आणि काय print केलं याचा पुरावा हवा.
हे काय आहे?
>> /var/log/job.log 2>&1 output आणि errors ठेवतो. cron runs /var/log/cron (RHEL) किंवा journal (journalctl -u cron किंवा -u crond) मधे. किंवा logger -t job ला pipe.
कसं करायचं (step by step)
- Output ठेवा.
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
Output:
(a crontab line)
याचा अर्थ: 2>&1 errors पण पकडतो.
- चालला का?
journalctl -u crond --since today --no-pager | grep backup
Output:
Oct 25 02:00:01 web1 CROND[3301]: (root) CMD (/usr/local/bin/backup.sh >> /var/log/backup.log 2>&1)
याचा अर्थ: 02:00:01 ला सुरू.
- Output journal ला.
*/5 * * * * /opt/shop/bin/sync 2>&1 | logger -t shop-sync
Output:
(a crontab line)
याचा अर्थ: journalctl -t shop-sync ने वाचा.
9. flock: jobs overlap होऊ देऊ नका
हे का लागतं?
5-minute job कधी 7 minutes घेतो, तर दोन copies एकत्र चालून data बिघडवू शकतात.
हे काय आहे?
flock -n /tmp/NAME.lock COMMAND lock मिळाला तरच चालवतो; -n म्हणजे busy असेल तर लगेच सोडा. Command संपल्यावर lock सुटतो.
कसं करायचं (step by step)
- Safe 5-minute sync.
*/5 * * * * flock -n /tmp/sync.lock /opt/shop/bin/sync
Output:
(a crontab line)
याचा अर्थ: दुसरी copy फक्त exit.
- हाताने test.
flock -n /tmp/demo.lock sleep 60 & sleep 1; flock -n /tmp/demo.lock echo second; echo exit=$?
Output:
exit=1
याचा अर्थ: दुसरा run नाकारला.
10. at: नंतर एकदाच job
हे का लागतं?
काही tasks एकदाच: आज रात्री 11 ला restart, 2 तासांनी temporary firewall rule काढा.
हे काय आहे?
at package install करून atd सुरू. at TIME stdin मधून commands वाचतो; Ctrl+D ने संपवा. TIME उदा. 23:00, now + 2 hours, 'tomorrow 09:00', noon. -f FILE file मधून. batch load कमी असताना.
कसं करायचं (step by step)
- atd सुरू.
sudo systemctl enable --now atd
Output:
(no output)
याचा अर्थ: atd शिवाय काही चालत नाही.
- आज रात्री 11 ला restart.
echo 'systemctl restart shop-api' | sudo at 23:00
Output:
job 4 at Sun Oct 25 23:00:00 2026
याचा अर्थ: Job number 4.
- 2 तासांनी rule undo.
echo 'firewall-cmd --remove-port=8080/tcp' | sudo at now + 2 hours
Output:
job 5 at Sun Oct 25 14:45:00 2026
याचा अर्थ: Safety net.
11. atq, at -c आणि atrm
हे का लागतं?
Pending one-time jobs बघता आणि cancel करता यायला हवे.
हे काय आहे?
atq pending jobs list (सगळ्यांसाठी sudo atq). at -c N job N काय चालवेल. atrm N delete.
कसं करायचं (step by step)
- List.
sudo atq
Output:
4 Sun Oct 25 23:00:00 2026 a root
5 Sun Oct 25 14:45:00 2026 a root
याचा अर्थ: Number, time, queue, user.
- आत बघा.
sudo at -c 4 | tail -n 2
Output:
systemctl restart shop-api
याचा अर्थ: शेवटच्या lines तुमचे commands.
- Cancel.
sudo atrm 4 && sudo atq
Output:
5 Sun Oct 25 14:45:00 2026 a root
याचा अर्थ: Job 4 गेला.
12. systemd timers: OnCalendar आणि Persistent
हे का लागतं?
Timers मोफत journal logs, resource limits, overlap नाही आणि downtime नंतर catch-up देतात.
हे काय आहे?
दोन files लागतात: NAME.service (काय, Type=oneshot) आणि NAME.timer (कधी). OnCalendar=*-*-* 02:00:00 किंवा daily, Mon..Fri 09:30. Intervals साठी OnBootSec=5min आणि OnUnitActiveSec=1h. Persistent=true चुकलेला job boot ला चालवतो. RandomizedDelaySec load पसरवतो. Timer enable करा, service नाही.
कसं करायचं (step by step)
- Service.
sudo tee /etc/systemd/system/backup.service <<'X'
[Unit]
Description=Nightly backup
[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh
X
Output:
(file text)
याचा अर्थ: [Install] लागत नाही.
- Timer.
sudo tee /etc/systemd/system/backup.timer <<'X'
[Unit]
Description=Run backup daily at 2
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
RandomizedDelaySec=10min
[Install]
WantedBy=timers.target
X
Output:
(file text)
याचा अर्थ: Service चंच base नाव.
- Timer enable.
sudo systemctl daemon-reload && sudo systemctl enable --now backup.timer
Output:
Created symlink /etc/systemd/system/timers.target.wants/backup.timer → /etc/systemd/system/backup.timer.
याचा अर्थ: आता schedule झाला.
- Test साठी आत्ता एकदा.
sudo systemctl start backup.service && journalctl -u backup -n 3 --no-pager
Output:
Oct 25 12:50:01 web1 systemd[1]: Finished Nightly backup.
याचा अर्थ: Logs मोफत.
13. systemctl list-timers
हे का लागतं?
प्रत्येक timer चं एक view हवं: शेवटचा कधी आणि पुढचा कधी.
हे काय आहे?
systemctl list-timers active timers NEXT, LEFT, LAST, PASSED, UNIT, ACTIVATES सह. --all inactive पण.
कसं करायचं (step by step)
- सगळे timers.
systemctl list-timers --no-pager | head -3
Output:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2026-10-26 02:04:11 IST 13h left Sun 2026-10-25 12:50:01 IST 3s ago backup.timer backup.service
Mon 2026-10-26 00:00:00 IST 11h left Sun 2026-10-25 00:00:00 IST 12h ago logrotate.timer logrotate.service
याचा अर्थ: Random delay मुळे 02:04.
- Expression test.
systemd-analyze calendar --iterations=3 'Mon *-*-* 08:00'
Output:
Next elapse: Mon 2026-10-26 08:00:00 IST
Iter. #2: Mon 2026-11-02 08:00:00 IST
Iter. #3: Mon 2026-11-09 08:00:00 IST
याचा अर्थ: पुढचे तीन runs.
14. अनेक industries मधली खरी उदाहरणं
हे का लागतं?
तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.
हे काय आहे?
प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.
कसं करायचं (step by step)
| Team आणि शहर | ते कसं वापरतात | Command |
|---|---|---|
| Neha, CA firm, Pune | दर 1 तारखेला GST report | 0 8 1 * * /opt/ca/gst-report.sh |
| Oliver, news site, Sydney | दर 10 minutes ला page cache साफ | */10 * * * * flock -n /tmp/c.lock /opt/news/purge |
| Zainab, airline, Doha | Crew rosters साठी Persistent timers | systemctl list-timers |
| Lucas, bank, Frankfurt | One-time change window job | at 23:30 -f change.sh |
| Priya, school ERP, Kolhapur | रात्री 2 ला logs सह DB backup | 0 2 * * * /opt/erp/backup.sh >> /var/log/erp-backup.log 2>&1 |
| Ken, logistics, Toronto | प्रत्येक boot नंतर sync | @reboot /opt/fleet/sync |
15. नेहमीच्या errors आणि त्यांचे fixes
हे का लागतं?
हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.
हे काय आहे?
आधी नेमका message वाचा. मग खालच्या row शी जुळवा.
कसं करायचं (step by step)
| दिसणारा error | का होतं | Fix कसा करायचा |
|---|---|---|
/bin/sh: aws: command not found (in cron mail/log) | cron PATH छोटा | Full paths किंवा crontab मधे PATH.which aws |
no crontab for ec2-user | अजून jobs नाहीत | crontab -e ने बनवा.crontab -e |
"/tmp/crontab.X":1: bad minute
errors in crontab file, can't install. | Fields ची संख्या किंवा value चुकीची | पाच fields मग command.crontab -e |
Job runs at the wrong hour | Server time zone UTC | timedatectl तपासा; hour किंवा zone बदला.timedatectl |
Command cut off at % sign | cron मधे % म्हणजे newline | \% असं escape.date +\%F |
Job in /etc/cron.daily never runs | Executable नाही किंवा नावात dot | chmod 755 आणि .sh काढा.run-parts --test /etc/cron.daily |
Can't open display / permission denied in cron | वेगळा user, GUI नाही, चुकीच्या permissions | योग्य user; GUI tools टाळा.sudo crontab -u shop -l |
Can't open /var/run/atd.pid to signal atd. No atd running? | atd service चालू नाही | atd सुरू.sudo systemctl enable --now atd |
Two copies of the job run together | Job interval पेक्षा slow | flock -n ने wrap.flock -n /tmp/job.lock /opt/job |
Timer is enabled but never fires | Service enable केली, timer नाही, किंवा daemon-reload नाही | Timer enable करा आणि list-timers.sudo systemctl enable --now backup.timer |
16. Troubleshooting step by step
हे का लागतं?
Scheduled job ने काम केलं नाही तर प्रत्येक दुवा सिद्ध करा: schedule, start, environment, output.
हे काय आहे?
वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.
कसं करायचं (step by step)
- Job installed आहे का?
crontab -l; ls /etc/cron.d
- cron चालू आहे का?
systemctl is-active crond
- cron ने सुरू केला का?
journalctl -u crond --since today --no-pager | tail
- cron च्या environment ने चालवा.
env -i SHELL=/bin/sh PATH=/usr/bin:/bin HOME=$HOME /bin/sh -c '/usr/local/bin/backup.sh'
- त्याचा output log.
tail -n 30 /var/log/backup.log
- Timers साठी पुढचा run आणि logs.
systemctl list-timers --all; journalctl -u backup -n 20
17. Lab 1: Logs आणि lock सह safe cron job
हे का लागतं?
दर minute ला चालणारा, output log करणारा, overlap न होणारा job लिहा, मग काढा.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- Crontab backup.
crontab -l > ~/cron.bak 2>/dev/null; echo saved
Output:
saved
- Job जोडा.
(crontab -l 2>/dev/null; echo '* * * * * flock -n /tmp/tick.lock /bin/date >> /tmp/tick.log 2>&1') | crontab -
Output:
(no output)
- Confirm.
crontab -l | tail -n1
Output:
* * * * * flock -n /tmp/tick.lock /bin/date >> /tmp/tick.log 2>&1
- 2 minutes थांबा आणि वाचा.
sleep 125; cat /tmp/tick.log
Output:
Sun Oct 25 13:01:01 IST 2026
Sun Oct 25 13:02:01 IST 2026
- Restore.
crontab ~/cron.bak 2>/dev/null || crontab -r; crontab -l
Output:
(your old jobs)
18. Lab 2: cron job ऐवजी systemd timer, आणि at
हे का लागतं?
दर 2 minutes चा timer बनवा, बघा, मग one-time at job schedule करून cancel.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- Service.
printf '[Service]\nType=oneshot\nExecStart=/usr/bin/logger -t tick hello\n' | sudo tee /etc/systemd/system/tick.service
Output:
[Service]
- Timer.
printf '[Timer]\nOnBootSec=1min\nOnUnitActiveSec=2min\n[Install]\nWantedBy=timers.target\n' | sudo tee /etc/systemd/system/tick.timer && sudo systemctl daemon-reload && sudo systemctl enable --now tick.timer
Output:
Created symlink ... tick.timer
- बघा.
systemctl list-timers tick.timer --no-pager
Output:
NEXT ... tick.timer tick.service
- at job मग cancel.
echo 'logger -t atlab hi' | at now + 30 minutes; atq; atrm $(atq | awk '{print $1}' | tail -n1); atq
Output:
job 7 at Sun Oct 25 13:35:00 2026
- साफ.
sudo systemctl disable --now tick.timer && sudo rm /etc/systemd/system/tick.* && sudo systemctl daemon-reload
Output:
Removed ... tick.timer
Ravindra Bagale's Tip
Before you trust a schedule, test it: systemd-analyze calendar for timers, and for cron write the line, then check the journal after the first run. And always redirect output; a cron job with no log is a job you cannot debug.
Ravindra Bagale's Tip – मराठी
Schedule वर विश्वास ठेवण्याआधी test करा: timers साठी systemd-analyze calendar, आणि cron साठी line लिहा, मग पहिल्या run नंतर journal तपासा. आणि output नेहमी redirect करा; log नसलेला cron job debug करता येत नाही.
Ravindra Bagale's Tip – हिंदी
Schedule पर भरोसा करने से पहले test करें: timers के लिए systemd-analyze calendar, और cron के लिए line लिखें, फिर पहले run के बाद journal देखें. और output हमेशा redirect करें; बिना log का cron job debug नहीं हो सकता.
19. नेहमी विचारले जाणारे प्रश्न
प्र. cron की systemd timer?
नव्या server jobs साठी timers (logs, catch-up, limits). cron सोपा आणि सगळीकडे.
प्र. cron दर 30 seconds?
थेट नाही; किमान 1 minute. OnUnitActiveSec=30s timer.
प्र. रात्री 2 ला server बंद असेल तर?
cron skip करतो; anacron किंवा Persistent=true timers catch up.
प्र. cron कोणता time zone?
System zone (timedatectl). काही systems वर CRON_TZ=.
प्र. crontab कोण वापरू शकतं?
/etc/cron.allow आणि /etc/cron.deny ठरवतात.
प्र. crontab -r धोकादायक?
हो, सगळे jobs एकदम delete. आधी backup.
प्र. Day of month आणि day of week दोन्ही?
कोणतंही जुळलं तरी cron चालवतो.
प्र. Timer job आत्ता कसा?
systemctl start NAME.service.
20. मुलाखत प्रश्न आणि उत्तरं
Beginner level
प्र. पाच cron fields?
minute hour day-of-month month day-of-week.
प्र. Cron jobs list कसे?
crontab -l.
प्र. cron मधे दर 5 minutes?
*/5 * * * *.
प्र. रात्री 10 ला एकदा job?
echo cmd | at 22:00.
Mid level level
प्र. Script फक्त cron मधे fail का?
Minimal PATH आणि environment; full paths.
प्र. Overlapping runs कसे थांबवायचे?
flock -n lockfile cmd, किंवा timer.
प्र. /etc/cron.d files मधे वेगळं काय?
User field असतो.
प्र. systemd timer च्या दोन files?
NAME.service आणि NAME.timer.
Senior level
प्र. Downtime नंतर चुकलेले jobs?
Persistent=true timers किंवा anacron; jobs idempotent.
प्र. 100 servers वर cron?
RandomizedDelaySec किंवा jitter ने thundering herd टाळा, central logging, single-runner locks.
प्र. Nightly job चालला हे monitor कसं?
Job heartbeat ping किंवा metric लिहितो; run चुकला तर alert.
प्र. DST आणि cron?
Skip किंवा repeat तासातले jobs 0 किंवा 2 वेळा; servers वर UTC.
घरी करून बघा
- दर तासाला df -h चालवून ~/disk.log ला जोडणारी cron line लिहा. दोन तासांनी file तपासा.
- तोच job OnCalendar=hourly आणि Persistent=true सह systemd timer मधे बदला.
सराव Tasks
London Legal LLP हा लंडन मधला कायदा सेवा व्यवसाय आहे. Oliver Hughes त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे GBP मध्ये मोजले जातात आणि AWS resources eu-west-2 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 16
सोपं माझे cron jobs
का: Automation वेळ वाचवतं.
काय करायचं: तुमचा crontab दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं crontab edit
का: Automation वेळ वाचवतं.
काय करायचं: Edit करायला crontab उघडा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Pending at jobs
का: Automation वेळ वाचवतं.
काय करायचं: Pending at jobs list.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Timers list
का: Automation वेळ वाचवतं.
काय करायचं: Inactive सह सगळे systemd timers.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम दुसरा user
का: Automation वेळ वाचवतं.
काय करायचं: Root म्हणून deploy चा crontab list.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम cron चालू आहे का?
का: Automation वेळ वाचवतं.
काय करायचं: crond service status.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम cron चाललं का?
का: Automation वेळ वाचवतं.
काय करायचं: आजचा crond journal.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम One-time job
का: Automation वेळ वाचवतं.
काय करायचं: at ने /opt/report.sh 18:00 ला.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम at job cancel
का: Automation वेळ वाचवतं.
काय करायचं: at job 7 cancel.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम atd start
का: Automation वेळ वाचवतं.
काय करायचं: atd enable आणि start.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Timer start
का: Automation वेळ वाचवतं.
काय करायचं: backup.timer enable आणि start.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड सगळे jobs काढा
का: Automation वेळ वाचवतं.
काय करायचं: विचारून पूर्ण crontab काढा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Schedule check
का: Automation वेळ वाचवतं.
काय करायचं: "Mon..Fri 09:00" पुढे कधी ते तपासा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Job आत्ता चालवा
का: Automation वेळ वाचवतं.
काय करायचं: Test करायला backup.service लगेच.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Timer job logs
का: Automation वेळ वाचवतं.
काय करायचं: backup.service logs च्या शेवटच्या 20 lines.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Transient timer
का: Automation वेळ वाचवतं.
काय करायचं: systemd-run ने 30 minutes नी /opt/cleanup.sh.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
21. संबंधित chapters
- DevOps साठी Linux Ops Refresh
- Automation साठी Bash Scripting
- Linux grep आणि find Commands Examples सह
- Linux Servers मध्ये Passwordless SSH
थोडक्यात सांगायचं तर
- पाच fields: minute hour dom month dow.
- crontab -e/-l/-r/-u user jobs manage.
- /etc/cron.d user field जोडतो; @reboot boot ला.
- Full paths, redirects आणि flock cron safe करतात.
- One-time jobs साठी at, atq, atrm.
- Timers = .service + .timer, OnCalendar, Persistent, list-timers.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.








अजून cards: Ravi Sir's Cards.