Linux設置定時任務() 1.命令概述
命令用于設置周期性被執行的指令,并將其存放在/etc/文件,以供之后讀取和執行。
cron系統調度進程,可以使用它在每天的非高峰負荷段運行作業,或在一周或一月中不同時段運行,cron是系統主要的調度進程,可以無需人工干預的情況下運行作業。
檢查是否安裝了,如果提示未安裝請自行安裝,安裝包在系統光盤里面的文件夾,也可以進入此網站找相對應的安裝包。
默認開機自啟,,系統通用。
2. 基本命令
方式一:
/etc/init.d/crond start 啟動服務
/etc/init.d/crond stop 停止服務
/etc/init.d/crond 重啟服務
/etc/init.d/crond 重載配置文件
/etc/init.d/crond 查看服務狀態(可查看是否在執行定時任務)
方式二(.04適用):
cron start 啟動服務
cron stop 停止服務
cron 重啟服務
cron 重載配置文件
cron 查看服務狀態(可查看是否在執行定時任務)
方式三:
/sbin cron start 啟動服務
/sbin cron stop 停止服務
/sbin cron 重啟服務
/sbin cron 重載配置文件
/sbin cron 查看服務狀態(可查看是否在執行定時任務)
常用操作:
–l 顯示文件(顯示已設置的定時任務)
–e 編輯文件(編輯定時任務)
–r 刪除文件(刪除定時任務)
–ir 刪除文件提醒用戶(刪除定時任務)
補充說明:
在編輯文件中寫入需要執行的命令和時間linux定時任務時間設置,該文件中每行都包括六個域linux定時任務時間設置,其中前五個域是指定命令被執行的時間,最后一個域是要被執行的命令。每個域之間使用空格或者制表符分隔。
格式如下:
hour day-of-month month-of-year day-of-week
合法值為:00-59 00-23 01-31 01-12 0-6 (0 is )
除了數字還有幾個特殊的符號:""、"/“和”-"、","
""代表所有的取值范圍內的數字
"/“代表每的意思,”/5"表示每5個單位
"-"代表從某個數字到某個數字
","分開幾個離散的數字
注: 注意以下幾點
要是存在文件,要寫絕對路徑。
即使是打印也不會顯示在顯示屏,在后臺運行,最好重定向日志。
使用案例:
# -e (編輯文件)
輸入內容
*/1 * * * * root echo “hello world!” >> /root/test.txt
(用root權限,每分鐘執行一次命令,輸出hello world! 并寫入 /root/test.txt)
重載文件
# cron
重啟服務
# cron
進入/root/test.txt查看輸出結果
3. 全局配置文件說明
說明:
/etc/下面存在cron.,cron.daily,cron.,cron.,cron.d五個目錄和,cron.deny二個文件。
cron.daily 是每天執行一次的job
cron. 是每個星期執行一次的job
cron. 每月執行一次的job
cron. 是每個小時執行一次的job
cron.d 是系統自動定期需要做的任務
是設定定時任務執行文件
cron.deny 文件就是用于控制不讓哪些用戶使用的功能
4. 編輯文件定時執行shell腳本
編寫shell腳本
#vim /root/test.sh
輸入內容
#!/bin/bash
echo “定時任務”
編寫文件
–e
輸入內容
*/1 * * * * root /root/test.sh
(用root權限每分鐘執行/root/test.sh腳本)
重載文件
# cron
重啟服務
# cron
等待任務執行結果(可用 cron 命令追蹤任務)
注:
用編譯文件的方式執行腳本,有些linux命令可能會無法執行(待解決)。
推薦配置全局文件來執行shell腳本
5. 配置全局文件來執行shell腳本
vim /etc/
添加內容(例子)
0 2 * * 0 root cd /root/ && - down && - up --build
(每個星期日凌晨2:00重啟禪道)
*/1 * * * * root /home//work/.sh
(每分鐘運行 指定的.sh腳本文件)
10 14 1 * * root /home//work/.sh
(每個月的1號14:10運行 指定的.sh腳本文件)
1 0 * * 1,3,5 root /home//work/.sh
(每周一、三、五凌晨00:01運行 指定的.sh腳本文件)
0 0 * * * * root –a now
(每天零點準時關機)
重載文件
# cron
重啟服務
# cron
等待任務執行結果(可用 cron 命令追蹤任務)