Crontab 定時任務格式參數


crontab 定時執行 任務

格式:   * * * * * 
分別對應表示: 分鍾(
0-59) 小時(0-23) 日(1-31) 月份(1-12) 星期(0-6
星號(
*):代表所有可能的值,例如month字段如果是星號,則表示在滿足其它字段的制約條件后每月都執行該命令操作。 逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,“1,2,5,7,8,9” 中杠(-):可以用整數之間的中杠表示一個整數范圍,例如“2-6”表示“2,3,4,5,6” 正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。 同時正斜線可以和星號一起使用, 例如*/5,第一個位置就是每隔5秒,如果用在minute字段,表示每多少分鍾。
時間格式示例:
  每五分鍾執行 */5 * * * *
  每小時執行 0 * * * *
  每天執行 0 0 * * *
  每周執行 0 0 * * 0
  每月執行 0 0 1 * *
  每年執行 0 0 1 1 *

crontab 問題:

1、crontab中的輸出配置:
    crontab中經常配置運行腳本輸出為:>/dev/null 2>&1,來避免crontab運行中有內容輸出。

2、shell命令的結果可以通過'> '的形式來定義輸出; /dev/null 代表空設備文件  
    
    > 代表重定向到哪里,例如:echo "test" > test.txt 
    
    1 表示stdout標准輸出,系統默認值是1,所以">/dev/null"等同於"1>/dev/null"
    
    2 表示stderr標准錯誤
     
    & 表示等同於的意思,2>&1,表示2的輸出重定向等同於1 
    
3、重定向輸出語句的含義: 1>/dev/null 
        表示標准輸出重定向到空設備文件,也就是不輸出任何信息到終端,不顯示任何信息。
    2>&1         表示標准錯誤輸出重定向等同於標准輸出,因為之前標准輸出已經重定向到了空設備文件,所以標准錯誤輸出也重定向到空設備文件。
    
4、crontab 中 % 是表示換行,創建時間命令必須寫成 \% 
    date '+%Y%m%d' 
    要寫成:
    date '+\%Y\%m\%d'

5、環境變量問題導致crontab 任務執行不了 :
    加入環境變量
0 * * * * ./etc/profile;/bin/sh java.sh
        
6、crontab 的日志位置一般位於/var/log/cron,利用下面的語句即可查看日志。
tail -f /var/log/cron

環境變量延伸:

/etc/profile
   /etc/bashrc
  .bash_profile
  .bashrc
用戶在登陸Linux操作系統的時候,
"/etc/profile", "~/.bash_profile" 等配置文件會被自動執行。 執行過程 -- 首先啟動 "/etc/profile", 然后啟動用戶目錄下的 "~/.bash_profile", 如果"~/.bash_login""~/.profile" 文件存在的時候也會在執行 "~/.bash_profile" 后被依次調用。 /etc/profile:此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行,並從/etc/profile.d目錄的設置文件中搜集shell的設置; /etc/bashrc:為每一個運行bash shell的用戶執行此文件,當bash shell被打開時,該文件被讀取; ~/.bash_profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件, ~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登錄時及每次打開新的shell時,該文件被讀取; ~/.bash_logout:當每次退出系統(退出bash shell)時,執行該文件; /etc/profile是全局性的功能,其中設置的變量作用於所有用戶; ~/.bash_profile中設置的變量能繼承/etc/profile中的變量並作用於用戶; ~/.bash_profile 是交互式、login 方式進入 bash 運行的; ~/.bashrc 是交互式 non-login 方式進入 bash 運行的;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM