2019-01-07
參考網(wǎng)址
首先確定是否開啟或者安裝
使用 Cron 實現(xiàn)計劃任務 使用的這個模塊叫做corn
先安裝在使用
現(xiàn)在是時間 2019年1月7日20:55:55
晚上快要九點了
但是我還是要堅強(假裝堅強)的寫完(糊弄)這個博客
首先要確定自己安裝了這個模塊
通常Ubuntu 是會自帶這個模塊的 上面文章樓主14 的系統(tǒng)都有這個 ,我就不信老子18的沒有
-
安裝指令:
sudo apt-get install cron -
如果已經(jīng)安裝,先測試是否啟動了服務
pgrep cron -
有反應說明已經(jīng)啟動,沒有就:
service cron start
然后從上面的文章開始往下扒
管理任務計劃文件
cron 的所有任務計劃都記錄在 crontab 任務計劃文件中,通過 crontab 命令對該任務文件進行管理。
crontab [ -u user] [ -i ] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
參數(shù)說明:
-u user 指定用戶
-e 編輯某個用戶的計劃任務文件,若不指定用戶,默認編輯當前用戶的計劃任務文件
-l 顯示某個用戶的計劃任務文件,若不指定用戶,默認顯示當前用戶的計劃任務文件
-r 刪除某個用戶的計劃任務文件,若不指定用戶,默認刪除當前用戶的計劃任務文件
-i 在刪除之前推送確認提示
使用示例:
$ crontab -u foo -e #編輯用戶 foo 的計劃任務文件
$ crontab -e #編輯當前用戶的計劃任務文件
$ crontab -u foo -l #顯示用戶 foo 的計劃任務文件
$ crontab -l #顯示當前用戶的計劃任務文件
$ crontab -r #刪除當前用戶的計劃任務文件
我使用的第一個指令 crontab -e
ps: 第一次使用時會讓你選擇 使用哪一個 文本編輯器進行編輯 md 被我掛掉 就進到vim里去 弄得我以為實在報錯
編輯任務計劃文件
初次使用 crontab -e,可能需要選擇編輯器,輸入編輯器序號點擊回車后進入計劃任務文件編輯模式。若直接進入編輯模式忽略以上內(nèi)容。
進入編輯模式后,按照指定格式添加任務計劃。
任務計劃的語法格式如下:
m h dom mon dow command
0-59 0-23 1-31 1-12 0-7 command
- m: 表示分鐘
- h: 表示小時
- dom: 表示日期
- mon: 表示月份
- dow: 表示星期
- command: 預執(zhí)行的命令
另外需要使用一些特殊符號實現(xiàn)靈活的配置:
- *代表所有值
- / 代表“每”
- -代表范圍
- , 分割數(shù)字
任務示例如下:
## 指定具體執(zhí)行時間
2 * * * * ls #每個小時的第2分鐘執(zhí)行一次 ls 命令
30 7 * * * ls #每天7:30執(zhí)行一次 ls 命令
30 20 * * 2 ls #每周二,20:30執(zhí)行一次 ls 命令(0和7表示星期天)
## 指定間隔時間
*/2 * * * * ls #每隔2分鐘執(zhí)行一次 ls 命令
## 指定時間段
30 7 3-6 * * ls #每個月的3,4,5,6號的7:30分各執(zhí)行一次 ls 命令
## 指定多個時間
30 7 3,6 * * ls #每月的3號和6號的7:30分各執(zhí)行一次 ls 命令
另外,使用 run-parts 可以運行指定目錄下所有的腳本(注意腳本必須加上 “#!/bin/bash",否則 run-parts 會調(diào)用失?。?
30 7 * * * run-parts /home #每天7:30運行 /home 目錄下的所有腳本
按照指定格式添加任務,保存后,任務生效。
下面是一個實際的計劃任務文件,包含系統(tǒng)自帶注釋和一個每兩分鐘執(zhí)行一次輸出字符串 ”Hello World“ 到 /home/changhengyu/tmp目錄下 cron_test.txt 文件的計劃任務。
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
*/2 * * * * echo "Hello World" >> /home/changhengyu/tmp/cron_test.txt
作者 @old long
2019-1-7 21:15:57