一、crond介紹
crond是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。
crond 是linux的內建服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
/bin/systemctl status crond.service //檢視服務當前狀態
/bin/systemctl start crond.service//啟動服務
/bin/systemctl stop crond.service //關閉服務
/bin/systemctl restart crond.service //重啟服務
/bin/systemctl reload crond.service //重新載入配置
也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個指令碼的末尾加上:/bin/systemctl start crond.service
1.直接用crontab命令編輯
cron服務提供crontab命令來設定cron服務,以下是這個命令的一些引數與說明:
$> crontab -u root -l
$> crontab -u username -e
$> crontab -u username -r
-u //指定使用者,一般root使用者在執行這個命令的時候需要此引數(如省略,則預設為當前登入使用者)
-l //列出cron服務
-r //刪除cron服務
-e //編輯cron服務
每次編輯完某個使用者的cron設定後,cron自動在/var/spool/cron下生成乙個與此使用者同名的檔案,此使用者的cron資訊都記錄在這個檔案中,這個檔案不可以直接編輯,只可用crontab -e 來編輯。cron啟動後每過乙份鐘讀一次這個檔案,檢查是否要執行裡面的命令。因此此檔案修改後不需要重新啟動cron服務。
二、設定任務
執行命令:crontab -e (或者vi/etc/crontab),再輸入定時排程任務即可。語法如下:
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
以上cron命令格式為:* * * * * [root run-parts] command
前面五個*號代表時間,用數字,數字的取值範圍和含義如下:
第乙個*:分鐘 (0-59)[整數]
第二個*:小時(0-23)[整數]
第三個*:日期(1-31)[整數(必須是指定月份的有效日期)]
第四個*:月份(1-12)[整數(或如jan或feb簡寫的月份)]
第五個*:星期(0-7)[0或7用來描述週日(或用sun或mon簡寫來表示)]
command:需要執行的命令(可用as ls /proc >> /tmp/proc或 執行自定義指令碼的命令)
root:以root使用者身份來執行
run-parts:表示後面跟著的是乙個資料夾,要執行的是該資料夾下的所有指令碼
注意"run-parts"這個引數,如果去掉這個引數,後面就可以寫要執行的某個指令碼名,而不是資料夾名。
除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",":
*代表所有的取值範圍內的數字;
"/"代表步進設定;"*/5"表示每5個單位;如0-59/2定義每兩分鐘執行一次;如0-12/2定義上午的偶數點執行;
"-"代表從某個數字到某個數字;
","分開幾個離散的數字。
三、舉例說明
舉例說明,三個任務排程:
[root@localhost documents]# crontab –e
或者[root@localhost documents]# vim/etc/crontab #寫入該處也可.
* * * * * echo "hello, world!">> /home/ym/documents/crondtest.txt
* * * * * /home/yuanmin/documents/myfun1.sh>> /home/ym/documents/cron.log
*/2 * * * * /home/yuanmin/documents/myfun1.sh>> /home/ym/documents/cron_1.log
以上分別為:每1分鐘呼叫乙個shell命令結果輸出至指定檔案;每1分鐘呼叫乙個shell指令碼結果輸出至指定檔案;每2分鐘呼叫乙個shell指令碼結果輸出至指定檔案;
注:排程最小時間單位為分鐘,以上都在整分鐘時進行。
定時呼叫之setTimeout
settimeout 語法規則 window.settimeout 呼叫函式,延時時間 1 這個window在呼叫的時候可以省略 2 這個延時時間單位是毫秒,但是可以省略,如果省略預設就是0 3 這個呼叫函式可以直接寫函式還可以直接寫函式名 還有乙個寫法 函式名 4 頁面中可能會有多個定時器,我們經...
Linux 定時crond使用
因為之前工作中使用的時候沒有做記錄,這裡簡單記下使用。參考1 linux定時執行shell指令碼檔案 參考2 使用shell指令碼或命令列 新增crontab 定時任務 命令介紹 crontab l 定時任務列表 crontab e 編輯定時任務 sbin service crond start 啟...
Linux定時任務(crond)
1 crond定義 crond是linux系統中用來定期執行命令或指定程式的一種服務或軟體。1 linux系統自身定期執行的任務 輪詢系統日誌 備份資料等 2 使用者執行的任務 定時更新同步時間 資料備份等 2 crond命令語法 定時任務的命令是crontab,其守護程序是crond 服務執行的程...