(一)定時服務的啟動與關閉
如果想讓我的定時任務生效,我們必須要在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...