qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          Linux中crontab-定時(shí)任務(wù)命令

            有些東西很久不用就會(huì)忘記,所以為了不至于總是找資料,干脆就做一次深刻的筆記,這樣既能加深記憶,又能深入理解。

            linux服務(wù)器很久沒接觸了,出了一些新的版本,Ubuntu已經(jīng)出了11.10了,之前對(duì)于Ubuntu的了解只是出于對(duì)桌面版的好奇,可以跟win7一樣炫,現(xiàn)在的Ubuntu已正式進(jìn)入了Liunx愛好者的視線,應(yīng)用用于后臺(tái)大型服務(wù)器,選擇它的主要原因還是出于對(duì)穩(wěn)定性的考慮。用習(xí)慣了Centos,突然轉(zhuǎn)移到Ubuntu上還是有些不習(xí)慣,畢竟Centos與傳統(tǒng)的Redhat沒什么區(qū)別。不過(guò),總歸命令還是一樣的,多用用就熟悉了。

            關(guān)于任務(wù)定時(shí)的命令crontab,在Linux中應(yīng)用還算常見,這次為了配合開發(fā)完成一些輔助功能,以及一些備份更新等腳本,就需要crontab來(lái)完成,在windows下也就是一個(gè)批處理,linux只是多了一些命令而已。先來(lái)看看crontab的介紹:

            crontab命令常見于Unix和類Unix的操作系統(tǒng)之中,用于設(shè)置周期性被執(zhí)行的指令。該命令從標(biāo)準(zhǔn)輸入設(shè)備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執(zhí)行。通常,crontab儲(chǔ)存的指令被守護(hù)進(jìn)程激活, crond常常在后臺(tái)運(yùn)行,每一分鐘檢查是否有預(yù)定的作業(yè)需要執(zhí)行。這類作業(yè)一般稱為cron jobs。crontab文件包含送交cron守護(hù)進(jìn)程的一系列作業(yè)和指令。每個(gè)用戶可以擁有自己的crontab文件;同時(shí),操作系統(tǒng)保存一個(gè)針對(duì)整個(gè)系統(tǒng)的crontab文件,該文件通常存放于/etc或者/etc之下的子目錄中,而這個(gè)文件只能由系統(tǒng)管理員來(lái)修改。crontab文件的每一行均遵守特定的格式,由空格或tab分隔為數(shù)個(gè)領(lǐng)域,每個(gè)領(lǐng)域可以放置單一或多個(gè)數(shù)值。

            在Ubuntu中,crontab的命令如下:

            -e 表示編輯當(dāng)前的crontab

            -l  表示列表顯示當(dāng)前的crontab任務(wù)

            -r  表示刪除當(dāng)前用戶的crontab

            -i  表示刪除crontab時(shí)給予提示信息

            注意,user's crontab這個(gè)表示是每個(gè)用戶都有自己的crontab,所以如果需要全局執(zhí)行,必須定制root用戶的crontab,非全局的,就根據(jù)各個(gè)用戶自己的crontab來(lái)執(zhí)行,在執(zhí)行編輯crontab操作時(shí),我們需要設(shè)置編輯工具,否則默認(rèn)是crontab的編輯,對(duì)于習(xí)慣vi編輯的用戶,我們需要在用戶目錄下設(shè)置.profile配置文件,如root的配置文件.prifile,就如下目錄:

            帶.的文件都是隱藏文件,所以需要ls -a才能列出來(lái),vi .profile在文件中加入如下配置:

            EDITOR=vi; export EDITOR

            表示,當(dāng)前root用戶以vi作為默認(rèn)編輯器,此時(shí)直接使用crontab -e,可以進(jìn)行編輯任務(wù)列表,如下所示:

            上面以#號(hào)開頭的表示是注釋說(shuō)明的信息,紅色標(biāo)記的是任務(wù)列表。

            對(duì)于crontab的任務(wù)配置說(shuō)明;

            分鐘 小時(shí) 日 月 星期 命令

            *    *    *  *  *    *

            這樣就一目了然了,我們紅色標(biāo)記的表示的意義是每天3點(diǎn)鐘執(zhí)行腳本run.sh,并將執(zhí)行日志自動(dòng)輸出到log.log文件中。

            */1 * * * * root  /opt/bin/test-cron.sh //表示每隔一分鐘執(zhí)行一次腳本

            注:crontab任務(wù)是被定制在系統(tǒng)后臺(tái)運(yùn)行的cron進(jìn)程,所以用戶書無(wú)法查看到cron的進(jìn)程狀態(tài)的。設(shè)置開機(jī)啟動(dòng)cron進(jìn)程,命令如下:

            chkconfig --add crond,把它加入到系統(tǒng)的服務(wù)列表中。

            當(dāng)然,crontab命令用多了,會(huì)越來(lái)越喜歡它的,因?yàn)樗芎?jiǎn)化我們?nèi)粘5暮芏?a target="_self" style="word-break: break-all; color: #333333; text-decoration: none; line-height: normal !important; ">工作,特別是數(shù)據(jù)庫(kù)備份、檢測(cè)服務(wù)器運(yùn)行狀態(tài)等一些經(jīng)常做的工作,都可以根據(jù)你的需求來(lái)定制,在合理的時(shí)間運(yùn)行執(zhí)行合適的工作任務(wù),既不影響服務(wù)器的性能,又可以節(jié)約平時(shí)的工作時(shí)間,大大提高功能效率。

          posted on 2011-12-19 17:12 順其自然EVO 閱讀(274) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2011年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 井陉县| 黑河市| 呼图壁县| 砀山县| 达拉特旗| 茂名市| 二连浩特市| 肥东县| 永宁县| 烟台市| 武鸣县| 峨眉山市| 石景山区| 安新县| 礼泉县| 杂多县| 阿克陶县| 鹿泉市| 山东| 化隆| 文山县| 教育| 惠东县| 大田县| 昌吉市| 西乡县| 涟源市| 九台市| 江口县| 永修县| 炉霍县| 卢龙县| 贞丰县| 竹北市| 通许县| 澄江县| 清涧县| 元朗区| 五常市| 平和县| 上杭县|