centos任務定時器

2021-09-03 09:00:04 字數 2323 閱讀 5129

(一)定時服務的啟動與關閉

如果想讓我的定時任務生效,我們必須要在centos中啟動乙個叫crond的這樣的乙個服務。

crond服務是linux的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務:

啟動

systemctl start crond.service
檢視狀態:

systemctl status crond.service
停止

systemctl stop crond.service
從新啟動

systemctl restart crond.service
systemctl reload crond.service
當然你如果熟悉centos6的命令,也可以輸入如下命令,其實這個命令就是呼叫了我們上面的命令。

service crond start

service crond stop

service crond restart

service crond reload

(二)定時任務的使用

啟動之後,它的使用是非常簡單的。

crontab [選項]

crontab –l 檢視當前使用者的crontab,輸入

crontab –e 編輯crontab

crontab –r 刪除crontab

輸入crontab –l 可以看到no crontab for root

輸入crontab –e 新增任務,可以看到現在這個檔案裡面完全為空,你只要按照我們的標準格式寫入我要執行的系統變數,它就可以在指定的時間執行,那麼這個標準是什麼,看一下。

(三)基本格式 :

*  *  *  *  *  command
前面這五個星號代表時間和日期,後面command代表執行的命令或者指令碼。

這五個星號分別代表的含義。

分 時 日 月 周 命令

第1列表示分鐘,範圍是1~59,每分鐘用*或者 */1表示

第2列表示小時,範圍是0~23(0表示0點)

第3列表示日期,範圍是1~31

第4列表示月份,範圍是1~12

第5列標識號星期0~6(注意0表示星期天)

第6列要執行的命令。

其實這個東西不難,我們想熟悉它,來舉幾個例子。

crontab –e 進入定時器的編輯。

我們輸入:

30 21 * * * command
如果寫的是星號,代表任意時間,如果寫的是具體的值,寫的是具體的時間。

上面的例子表示每晚的21:30執行命令。

0 17 * * 1command
每週一的17點0分執行。

這裡來看我如果單獨寫個10 代表什麼,

10 * * * *command
在這裡插入**片

有人說,它會每10分鐘執行一次,有人說,它會在每個小時的第10分鐘執行一次,哪個對,當然是第二種了,因為它代表的是乙個小時的第幾分鐘。如果想要表示每隔10分鐘,就需要用這樣一些特殊符號,

特殊符號* 代表任何時間

,逗號,代表乙個不連續的時間。

-減號,代表連續的時間範圍,

如果用*/除以乙個特定的值,才代表每隔一定的時間執行。

45 4 1,10 * * command
我們來看一下這乙個,它代表什麼時間執行,說過逗號代表不連續的時間,所以說,該行表示每月1、10日的4 : 45執行命令。

40 4 * * 1-5command
表示每週一到周五的凌晨4點40分執行命令。

*/10 4* * *
每天的凌晨4點,每隔10分鐘執行一次命令。執行6次。

我們把這些都刪除了,演示乙個命令。

* * * * echo 111 >>/tmp/test
儲存退出。

看看系統時間, 輸入date

只要這裡滿足一分鐘,變化,它就會執行一次,我們這個定時任務最小識別的是分鐘,所以它不知道這個秒的變化,它檢測的就是分鐘,只要分鐘變化,這個任務就執行,不一定要剛好是一分鐘,因為它能識別的最小範圍是分鐘。我們在date一下。

看分鐘已經變化了

輸入來檢視:

cat /etc/test

定時器任務

步驟 在springboot 入口中,開啟定時器任務。新建任務類,將任務類交給spring 容器管理。啟動類加入註解 enablescheduling 開啟定時器任務 新建定時器任務包,新建任務類 在任務類中 寫上乙個任務 在任務的上面加上註解 scheduled fixdrate 毫秒 每隔 毫秒...

c 任務定時器

使用場景 當超時時呼叫處理函式 接收連續的資料,當資料停止傳輸超過1秒時,算作1包,進行處理 定時器類 定時器,用於在計時結束後執行指定方法 public static class timeroperate t null t new system.timers.timer duration 例項化t...

centos定時器 命令

我的定時器 以普通使用者直接編輯crontab e 1 usr bin php f www stay.dooland.com crontab.php home push text.txt 每分鐘讓php 自動執行一次crontab.php檔案並把結果輸出到text.txt檔案裡面 01 00 usr...