週期性計劃任務

循環性計劃任務   週期性計劃任務  
    安裝軟件
        crontabs-1.10-33.el6.noarch
        cronie-1.4.4-7.el6.x86_64
   
    查看crontabs軟件有無安裝
        # rpm -qa |grep crontabs


    啓動服務
        # /etc/init.d/crond  start   默認是啓動的
        # chkconfig |grep crond   默認2 3 4 5 是啓動的
       
    crontab的運行方式
        /var/spool/cron/  工作將以文本文件的方式寫入此目錄內以用戶名命名的文件,例jack賬戶使用crontab後,他的工作就會記錄到/var/spool/cron/jack文件中,執行的任務會記錄到日誌文件/var/log/cron中
       
    配置
        crontab  [-u user]  [ -e | -l | -r ]
            -u 指定用戶
            -e 編輯用戶的計劃任務
            -l 列出用戶的計劃任務
            -r 刪除用戶的計劃任務
       
        #crontab   -e   編輯週期性計劃任務的內容  空白     man 5 crontab 
        時間                                                                      動作
        分鐘          小時            日            月           周           
        0-59         0-23         1-31          1-12       0-7                     
        5                *                *             *              *         命令或者腳本(寫絕對路徑)
        */5             *                *              *              *
        5-9       
        5,10,12
        5-9,12-20,25-27
        1               1               28              *            6
       
        時間的寫法 
        The time and date fields are:

        field          allowed values
        -----            --------------
        minute             0-59
        hour                  0-23
        day of month   1-31
        month              1-12 (or names, see below)
        day of week     0-7 (0 or 7 is Sun, or use names)
       
        * 任何時刻
        ,  分隔         // 0 3,6 * * * 3點和6點進行
        -  一段時間  // 1-5 3 * * * 3點的1,2,3,4,5分鐘進行
        /n 每隔n單位間隔  // */5 * * * * 每5分鐘進行
        1-9/2                  // "1,3,5,7,9"
       
        例:
        發郵件 女朋友生日5月2日 /home/tom/lover.txt 信的內容  每年發 
        crontab -e
        59 23 1 5 * mail kiki < /home/tom/lover.txt  

        tom賬戶每小時執行腳本一次(腳本內的命令也一定要寫絕對路徑)
        crontab -u tom -e
        * */1 * * *  /bin/bash a.sh

    查詢週期計劃任務
        crontab -l  //查當前用戶的計劃任務
        crontab -u tom -l //查指定用戶的計劃任務
       
    修改
        crontab -e 編輯文本    文本存放/var/spool/cron
        
    刪除某用戶的所有周期計劃任務(刪除某條有crontab -e 進入文本刪除某條)
        # crontab -r   //當前用戶
        # crontab  -u redhat -r    //指定用戶

    系統定義的計劃任務
        更新whatis數據庫
        更新updatedb數據庫
        日誌定期輪轉
        清理/tmp,/var/tmp
        收集系統的狀態信息
        ...
        # /etc/crontab   配置文件   需重啓服務
        SHELL=/bin/bash   //使用的shell
        PATH=/sbin:/bin:/usr/sbin:/usr/bin   //執行文件查找命令
        MAILTO=root    //若有額外的輸出,以email將數據發送給誰   /etc/crontab這個文件中例行工作的命令發生錯誤,將錯誤消息發給誰
        HOME=/           //默認此shell的主文件夾所在

        */5  *  *  *  *  root 命令    //每隔5分中以root身份執行命令  默認不寫用戶是root
        時間               執行者身份
        01  *  *  *  * root run-parts  /root/runcron  //每分鐘執行/root/runcron文件夾下的腳本   新建 /root/runcron 文件夾

    查看任務是否執行
        /var/log/cron   日誌文件中
  
    以下目錄內可以存放腳本 該腳本就會按照時間去執行
        /etc/cron.daily  每天              
        /etc/cron.hourly   每小時
        /etc/cron.monthly 每月1號
        /etc/cron.weekly  每週日
       
    cat /etc/cron.daily/tmpwatch   超過一個月不使用的文件刪除

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章