Linux 定時任務排程 crontab命令

2022-07-07 19:18:12 字數 2054 閱讀 9288

crond 是linux下用週期性的執行某種任務或者等待處理某些事件的乙個守護程序,crond 程序會每分鐘定期檢查是否有要執行的任務,如果有要執行的任務則自動執行該任務

linux 下的任務排程

系統任務排程:系統週期性所要執行的工作,如:寫快取資料到硬碟、清理日誌等。系統任務排程的配置檔案 /etc/crontab

crontab 檔案的含義

使用者所建立的crontab檔案中,每一行代表一項任務,每行的每個字段代表一項設定,共分六個字段,前五段是時間設定段,第六段是要執行的命令段

在以上各個欄位中,還可以使用以下特殊字元:

星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。

逗號(,):可以用逗號隔開的值指定乙個列表範圍,例如,「1,2,5,7,8,9」

中槓(-):可以用整數之間的中槓表示乙個整數範圍,例如「2-6」表示「2,3,4,5,6」

正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次

crontab 服務

service cron start //啟動服務

service cron stop //關閉服務

service cron restart //重啟服務

service cron reload //重新載入配置

service cron status //檢視服務狀態

檢視服務是否已經執行用 ps -ax | grep cron

crontab命令選項:

-u指定乙個使用者

-l列出某個使用者的任務計畫

-r刪除某個使用者的任務

-e編輯某個使用者的任務

新增任務排程

在命令列輸入: crontab -e 然後新增相應的任務,wq存檔退出。

檢視任務排程

crontab -l //列出當前的所有排程任務

crontab -l -u jp //列出使用者jp的所有排程任務

刪除任務排程

crontab -r   //刪除所有任務排程工作
利用任務排程執行shell指令碼,在shell指令碼中執行php檔案,可以做到每秒執行一次php檔案

假設指令碼為 aaa.sh (一定要給該檔案可執行的許可權) 內容為:

#!/bin/bash

int=1

while(( $int<=60 ))

do php /var/www/html/index.php

echo $int

let "int++"

sleep 1

done

php檔案(如果執行不成功可以嘗試給該檔案授權為755) 內容為:

<?php 

echo "this is zhuchenglin's website!";

執行如下命令:

* * * * * sh /var/www/html/aaa.sh >> /var/www/html/crontab.log

#後面將輸出的內容重定向到日誌檔案中是為了看定時任務是否執行

編輯好後,儲存並退出

重啟cron服務

service cron restart
過大概一分鐘後檢視日誌檔案內是否有內容 (盡量給該日誌檔案足夠的許可權)

cat /var/www/html/crontab.log
注:本文參考:linux定時任務crontab命令詳解及linux定時任務的設定 crontab 配置指南

linux定時任務cron

一 cron格式 其格式如下 minute hour day month dayofweek command 分鐘 小時 天 月 天每星期 命令 比如 15 ls 表示每15分鐘執行一次ls 即每個小時的第0 15 30 45 60分鐘執行ls命令 25 8 11 ls 每天8 11點的第25分鐘執...

linux 定時任務排程Cron的用法詳解

在linux中,推薦使用crontab e命令新增自定義的任務 退出後重啟crond程序。複製 示例 etc rc.d init.d crond restart service cron reload 同樣,也可以直接修改 etc crontab檔案來新建任務,etc crontab檔案內容預設如下...

Cron 定時任務

一般系統都會有定時任務存在,比如訂單系統,會根據定時任務來實時同步訂單狀態,同步交易狀態等等。定時任務可以使用quartz 定時任務,也可以自己寫乙個任務排程系統,只要能實現功能就可以。下面我簡單介紹一下quartz 定時任務配置,需要配置三個bean,分別為 quartz,trigger,sche...