Linux 排程 crontab 介紹
在 Linux 排程可以分成兩種大類別
- 單一排程,做完一次即結束
- 固定排程,指定時間執行
at
at 可以用來處理單一排程,需要搭配 atd service 來執行,可以在執行完畢後,就結束排程
crontab
crontab 可以用來處理固定排程,在指定時間循環執行
指定 crontab 操作權限
可以在 cron.allow 指定可操作 crontab 的使用者
/etc/cron.allow
cron.deny 則可以指定禁止使用的用戶
/etc/cron.deny
並且,在使用者排定 crontab 工作項目後之後,工作項目都會被記錄到 spool
/var/spool/cron/使用者名稱/
並且,cron所執行的每一項工作紀錄都會被記錄到 var/log/cron
也可以從這裡查詢是否有被植入木馬
var/log/cron
使用者自行設計排程
使用 crontab 常見的操作,有以下三種
- crontab -e 編輯
- crontab -i 檢視
- crontab -r 清除
系統排程
系統自動排程的腳本分別放在這幾個地方執行
- /etc/crontab
- /etc/cron.d/*
跟使用者工作有關的是
- /var/spool/cron/*
指令直接放在以下目錄,讓系統根據目錄相關的時間,時間到就自動執行一次
/etc/cron.hourly/ 每小時
/etc/cron.daily/ 每天
/etc/cron.weekly/ 每週
/etc/cron.monthly/ 每月
工具推薦
crontab guru 可以快速查看 crontab 時間設定