linux 的計劃任務 定時任務

linux的計劃任務,也叫作定時任務

  1. 查看linux本機的定時任務

crontab -l #查看計劃任務nginx

  1. 編寫本身的計劃任務

crontab -e #編輯計劃任務shell

  1. 刪除任務調度工做 crontab -r //刪除全部任務調度工做vim

  2. 學習計劃任務的語法格式centos

    分 時 日 月 周 命令絕對路徑bash

    [root@mrcarzy-pc etc]# vim crontab學習

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    
    # 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

    minute: 表示分鐘,能夠是從0到59之間的任何整數。centos7

    **hour:**表示小時,能夠是從0到23之間的任何整數。spa

    **day:**表示日期,能夠是從1到31之間的任何整數。

    **month:**表示月份,能夠是從1到12之間的任何整數。

    **week:**表示星期幾,能夠是從0到7之間的任何整數,這裏的0或7表明星期日。

    command:要執行的命令,能夠是系統命令,也能夠是本身編寫的腳本文件。

    特殊字符:
    • 星號(*):表明每的意思,例如month字段若是是星號,則表示每個月都執行該命令操做。

    • 逗號(,):表示分隔時段的意思,例如,「1,3,5,7,9」。

    • 中槓(-):表示一個時間範圍,例如「2-6」表示「2,3,4,5,6」。

    • 正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。

  • 每分鐘執行一次命令

    分 時 日 月 周 命令絕對路徑

    * * * * * 命令

  • 每小時的3,15分組執行命令

    分 時 日 月 周 命令絕對路徑 3,15 * * * * 命令絕對路徑

#在下午8-11點的第3和第15分鐘執行
分      時     日 月 周  命令絕對路徑
3,15    20-23   *  *  *  

#每晚21:30執行命令
分     時  日 月 周  命令絕對路徑
30     21   *  *  *  

#每週6、日的下午1:30執行命令
分     時  日 月 周  命令絕對路徑
30    13   *  *  6,7 

#每週一到週五的凌晨1點整,清空/tmp目錄的全部文件
分     時  日 月 周  命令絕對路徑
0     1    *   *   1-5  /usr/bin/rm   -rf /tmp/*

#每晚的21:30重啓nginx
分     時  日 月 周  命令絕對路徑
30    21   *  3  *    命令絕對路徑

#每個月的1,10,22日的4:45重啓nginx
分     時  日 月 周  命令絕對路徑
45   4    1,10,22  *   *  systemctl reload nginx 

#每一個星期一的上午8點到11點的第3和15分鐘執行命令
分     時  日 月 周  命令絕對路徑
3,15   8-11  *  *  1
##每個月天天凌晨3點30分和中午12點20分執行test.sh腳本
30 3,12 * * *  /home/test.sh           

##每個月天天每隔6小時的每30分鐘執行test.sh腳本
30 */6 * * *  /home/test.sh

##每個月天天早上8點到下午18點每隔2小時的每30分鐘執行test.sh腳本
30 8-18/2 * * * /etc/init.d/network restart

##每個月天天晚上21點30分執行test.sh腳本
30 21 * * *  /etc/init.d/network restart

##每個月1號、10號、22號凌晨4點45分執行test.sh腳本
45 4 1,10,22 * * /etc/init.d/network restart

##8月份周1、週日凌晨1點10分執行test.sh腳本
10 1 * 8 6,0 /etc/init.d/network restart

##每個月天天每小時整點執行test.sh腳本
00 */1 * * *  /etc/init.d/network restart

linux系統服務管理命令

  • 系統服務(linux安裝的軟件名)

    只有經過yum安裝的軟件,才能用這個命令

    systemctl 這是centos7系類的命令

    service 這是centos6系統的服務管理命令

  • 實例:(只有yum安裝的才能使用這個命令)

    • 啓停管理nginx服務

    systemctl status/start/stop nginx

錯誤處理:

出現 there are stopped jobs 錯誤:

在shell中輸入命令jobs能夠查看中止進程列表

obs -l 顯示中止進程的詳細列表

能夠經過以下命令殺死或者激活中止的進程:

殺死:kill %1(%1是將要被殺死的job的進程號)

激活:fg %1(%1是將要被激活的job的進程號)

​ fg表明foreground(前臺),能夠喚醒被suspended(掛起)的進程

相關文章
相關標籤/搜索