軟體
用 systemd timer 取代 cron 跑定時任務
cron 的語法總是要查,換成 systemd timer 之後排程更直覺、日誌也更好追。
cron 跑了很多年,但每次要改排程都得回去查那五個星號的順序,出錯也只能靠 mail 通知。systemd timer 把「什麼時候跑」跟「跑什麼」拆成兩個檔案,清楚很多。
兩個檔案
一個 .service 定義要做的事,一個 .timer 定義什麼時候做。
[Unit]Description=每天凌晨備份
[Timer]OnCalendar=*-*-* 03:00:00Persistent=true
[Install]WantedBy=timers.target- 把兩個檔案放到
/etc/systemd/system/,然後enable並啟動 timer。
注意:
Persistent=true很關鍵——機器在排程時間是關機的,開機後會把錯過的任務補跑一次。
之後用 journalctl -u backup.service 就能看到每次執行的完整日誌,比翻 cron 的 mail 舒服太多。
春
春春
白天寫服務端、晚上拆硬體。這個筆記簿記錄那些查了三小時才搞懂、不想再忘記的事。