crond 定時任務詳解
crond 是 Linux 下用來周期性的執行某種任務或等待處理某些事件的一個守護程序,可以在無需人工幹預的情況下運作作業。
我的環境是3A伺服器搭建centos7.9,延遲低
安裝 crond 服務
yum install crond
crond服務啟動
systemctl start crond
systemctl enable crond
crond服務詳解
Linux系統排程可以分為兩類: 系統任務排程 | 使用者任務排程
系統任務排程: 系統周期性所要執行的工作,比如寫緩存資料到硬碟、日志清理等
# crond服務在/etc/目錄下有一個crontab檔案,這個檔案就是系統任務排程的配置檔案。
# 配置檔案内容解析
[root@dev etc]# vim /etc/crontab
SHELL=/bin/bash # 指定shell
PATH=/sbinL:/bin:/usr/sbin:/usr/bin # 指定了系統可執行檔案路徑
MAILTO=root # 指定了crond的任務執行資訊将通過電子郵件發送給root使用者,如果MAILTO變量的值為空,則表示不發送任務 執行資訊給使用者。
HOME=/ # 指定執行指令或腳本時使用的主目錄
使用者任務排程: 使用者定期要執行的工作,比如使用者資料備份、定時郵件提醒等
# 使用者可以使用 crontab 工具來定制自己的計劃任務。所有使用者定義的crontab 檔案都被儲存在 /var/spool/cron目錄中。其檔案名與使用者名一緻。
# 可以通過 crontab 指令添加或者編輯需要定時執行的任務
crontab 指令基本參數
crond 服務提供 crontab 指令用于設定 crond 服務
crontab -u //設定某個使用者的cron服務,一般root使用者在執行這個指令的時候需要此參數
crontab -l //列出某個使用者cron服務的詳細内容
crontab -r //删除某個使用者的cron服務
crontab -e //編輯某個使用者的cron服務
# 特殊字元
* : 代表所有可能的值
, :用逗号隔開的值表示一個範圍清單,如 1,2 表示1-2
- :可以在整數中間用中杠表示一個整數範圍,如 6-8 , 表示6 7 8
/ : 可以用正斜線表示時間間隔頻率,如 /10 用于minute字段,表示每10分鐘執行一次。
添加定時任務
任務格式: M(分) H(時) D(日) m(月) d(周) command
M : 表示分鐘1~59 , 每分鐘用*或者 */1表示
H : 表示小時1~23(0表示0點)
D : 表示日期1~31
m : 表示月份1~12
d : 表示号星期0~6(0表示星期天)
command : 要運作的指令
# 每分鐘執行一次 /root/test.sh腳本