(一)定時服務的啟動與關閉
如果想讓我的定時任務生效,我們必須要在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 –e 新增任務,可以看到現在這個檔案裡面完全為空,你只要按照我們的標準格式寫入我要執行的系統變數,它就可以在指定的時間執行,那麼這個標準是什麼,看一下。crontab [選項]
crontab –l 檢視當前使用者的crontab,輸入
crontab –e 編輯crontab
crontab –r 刪除crontab
輸入crontab –l 可以看到no crontab for root
(三)基本格式 :
* * * * * 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...