(一)定時任務簡介
系統的定時任務並不難,它在我們的伺服器上是乙個非常常見的任務,它指的就是讓我的計算機在指定的時間,執行指定的命令或者程式。在windows裡面有一任務器,它實現的就是系統定時任務,這個在個人機裡面用的不多,一般就是防毒軟體什麼的會用到。但是在伺服器上呢,我們很多的工作都不一定要人為手工的工作,而且有一部分工作,像備份這樣的工作,每天都需要進行,而且不能在上班的時候白天執行,因為那個時候的伺服器壓力非常大,這個時候都應該讓它在凌晨執行,當然不需要管理員每天都凌晨的時候工作,我們可以讓計算機系統自動在指定的時間執行指定的命令。那麼這個時候就用到了乙個非常常用的工具,定時任務。
(二)定時服務的啟動與關閉
如果想讓我的定時任務生效,我們必須要在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
來檢視,test檔案裡面已經有了111,再過一分鐘,這裡面還有111。這個就是定時任務。當然這個定時任務沒有任何的意義,就是讓大家了解一下定時任務的一些使用,計畫任務就是這麼簡單了,但是計畫任務,執行的語句如果是多條,則需要用藥shell指令碼,自己先寫乙個shell指令碼,然後在計畫任務中,執行這個指令碼即可。至於shell指令碼的寫法, 這裡不贅述。
這個就能檢視定時任務了。
centos 7 定時任務
前言 cron服務是linux的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務 sbin service crond start sbin service crond stop sbin service crond restart sbin service crond reload 要...
centos7 設定定時任務
1 crontab e直接進入vi模式新增。此任務儲存在 var spool cron 裡面對應的使用者名稱檔案 2.etc crontab 此計畫任務所有人可用,但是 使用者名稱 commend 多了個使用者名稱新增 3.檢視排程任務 crontab l 列出當前的所有排程任務 一 安裝 cron...
centos7配置定時任務
centos7自帶定時任務crontab 沒有的話安裝 yum install crontabs 開機啟動 systemctl enable crond 啟動服務 systemctl start crond 重啟systemctl restart crond 檢視狀態 systemctl statu...