Linux的計劃任務

本人qq羣也有許多的技術文檔,但願能夠爲你提供一些幫助(非技術的勿加)。

QQ羣:   281442983 (點擊連接加入羣:http://jq.qq.com/?_wv=1027&k=29LoD19)    QQ:1542385235bash

1、檢查相關服務工具

一、檢查crond服務spa

service crond status

安裝服務日誌

yum install vixie-cron

二、檢查crontab配置工具code

crontab -l

安裝crontabhtm

yum install crontabs

2、設置計劃任務blog

一、查看已有的計劃crontab

[root@localhost ~]# crontab -l
*/1 * * * * date >> /tmp/log.txt
*/1 * * * * sleep 30s; date >> /tmp/log.txt

每一行表示一個計劃。每一行的左邊有5顆*表示計劃執行的時間 右邊是須要執行的代碼。文檔

在crontab的配置文件中有關於5顆*的解釋。get

複製代碼
[root@localhost ~]# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
複製代碼

從上面的解釋能夠看出,每條計劃的最小執行時間只能設置到每分鐘執行一次。那麼如何設置一個每隔30s執行一次的計劃呢,經過設置兩條相同的計劃,可是第二條會在執行的時候 sleep 30s。

二、編輯計劃

crontab -e

三、下面是幾個簡單的例子

每分鐘執行一次。

* * * * * command

每30分鐘執行一次。

0,30 * * * * command

天天9到10點的第1分鐘執行一次。

1 9-10 * * * command

每隔2天的10點的第1分鐘執行一次。

1 10 */2 * * command

四、關於上面例子的特殊符號解釋

*:表明全部可能的值。

,:指定一個列表範圍,例如,"1,3,5,7,9"

-:指定一個整數範圍,例如,"1-5" 表示 "1,2,3,4,5"

/:指定時間的間隔頻率,例如、"0-23/2" 表示每兩小時執行一次。

五、查看計劃執行的日誌

[root@localhost ~]# cat /var/log/cron
Sep 13 12:33:02 localhost run-parts(/etc/cron.daily)[1277]: finished logrotate

 

3、注意事項

一、command中涉及文件路徑時寫全局路徑。

二、系統自動執行任務調度時,是不會加載任何環境變量的。

本人qq羣也有許多的技術文檔,但願能夠爲你提供一些幫助(非技術的勿加)。

QQ羣:   281442983 (點擊連接加入羣:http://jq.qq.com/?_wv=1027&k=29LoD19)    QQ:1542385235

 

個人淘寶店,能夠進去逛逛噢:https://shop108912636.taobao.com/index.htm?spm=2013.1.w5001-7867000954.3.1d29318dPlLar7&scene=taobao_shop

相關文章
相關標籤/搜索