IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)操作系統(tǒng)LINUX → linux下2種定時(shí)執(zhí)行任務(wù)方法

linux下2種定時(shí)執(zhí)行任務(wù)方法

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(2)

  (1)at命令

  假如我們只是想 要讓特定任務(wù)運(yùn)行一次,那么,這時(shí)候就要用到at監(jiān)控程序了。

  設(shè)置at命令很簡(jiǎn)單,指示定運(yùn)行的時(shí)間,那么就會(huì)在哪個(gè)時(shí)候運(yùn)行。at類似打印 進(jìn)程,會(huì)把任務(wù)放到/var/spool/at目錄中,到指定時(shí)間運(yùn)行它 。at命令相當(dāng)于另一個(gè)shell,運(yùn)行at time命令時(shí),它發(fā)送一個(gè)個(gè)命令,可以輸入任意命令或者程序。at now + time命令可以在指示任務(wù)。

  假設(shè)處理一個(gè)大型數(shù)據(jù)庫(kù),要在別人不用系統(tǒng)時(shí)去處理數(shù)據(jù),比如凌晨3點(diǎn)10分。那么我們就應(yīng)該先建立/home/kyle/do_job腳本管理數(shù)據(jù)庫(kù),計(jì)劃處理/home/kyle/do_job文件中的結(jié)果。正常方式是這樣啟動(dòng)下列命令:

  # at 2:05 tomorrow

  at>/home/kyle/do_job

  at> Ctrl+D

  AT Time中的時(shí)間表示方法

  -----------------------------------------------------------------------

  時(shí) 間 例子 說(shuō)明

  -----------------------------------------------------------------------

  Minute??? at now + 5 minutes?? 任務(wù)在5分鐘后運(yùn)行

  Hour????? at now + 1 hour????? 任務(wù)在1小時(shí)后運(yùn)行

  Days????? at now + 3 days????? 任務(wù)在3天后運(yùn)行

  Weeks???? at now + 2 weeks???? 任務(wù)在兩周后運(yùn)行

  Fixed???? at midnight??? 任務(wù)在午夜運(yùn)行

  Fixed???? at 10:30pm???? 任務(wù)在晚上10點(diǎn)30分

  注意:一定要檢查一下atq的服務(wù)是否啟 動(dòng),有些操作系統(tǒng)未必是默認(rèn)啟動(dòng)的, linux默認(rèn)為不啟動(dòng),而ubuntu默認(rèn)為啟動(dòng)的。檢查是否啟動(dòng),用service atd檢查語(yǔ)法,用service atd status檢查atd的狀態(tài),用service atd start啟動(dòng)atd服務(wù)。

  查看at執(zhí)行的具體內(nèi)容:一般位于/var/spool/at目錄下面, 用vi打開,在最后一部分就是你的執(zhí)行程序

  (2)crontab

  cron是一個(gè)linux下 的定時(shí)執(zhí)行工具,可以在無(wú)需人工干預(yù)的情況下運(yùn)行作業(yè)。由于Cron 是Linux的內(nèi)置服務(wù),但它不自動(dòng)起來(lái),可以用以下的方法啟動(dòng)、關(guān)閉這個(gè)服務(wù):

  /sbin/service crond start??? //啟動(dòng)服務(wù)

  /sbin/service crond stop???? //關(guān)閉服務(wù)

  /sbin/service crond restart? //重啟服務(wù)

  /sbin/service crond reload?? //重新載入配置

  /sbin/service crond status?? //查看服務(wù)狀態(tài)

  你也可以將這個(gè)服務(wù)在系統(tǒng)啟 動(dòng)的時(shí)候自動(dòng)啟動(dòng):

  在/etc/rc.d/rc.local這個(gè)腳本的末尾加上:

  /sbin/service crond start

  現(xiàn)在Cron這個(gè)服務(wù)已經(jīng)在進(jìn)程里面了,我們就可以用這個(gè)服務(wù)了,Cron服務(wù)提供以下幾種接口供大家使用:

  1、直接用crontab命 令編輯

  cron服務(wù)提供 crontab命令來(lái)設(shè)定cron服務(wù)的,以下是這個(gè)命令的一些參數(shù)與說(shuō)明:

  crontab -u //設(shè)定某個(gè)用戶的cron服務(wù),一般root用戶在執(zhí)行這個(gè)命令的時(shí)候需要此參數(shù)

  crontab -l //列出某個(gè)用戶cron服務(wù)的詳細(xì)內(nèi)容

  crontab -r //刪除某個(gè)用戶的cron服務(wù)

  crontab -e //編輯某個(gè)用戶的cron服務(wù)

  比如說(shuō)root查看自己的cron設(shè)置:crontab -u root -l

  再例 如,root想刪除fred的cron設(shè)置:crontab -u fred -r

  基本格式 :

  *  *  *  *  *  command

  分  時(shí)  日  月  周  命令

  第1列表示分鐘1~59 每分鐘用*或者 */1表示

  第2列表示小時(shí)1~23(0表示0點(diǎn))

  第3列表示日期1~31

  第4列表示月份1~12

  第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天)

  第6列要運(yùn)行的命令

  crontab文件的一些例子:

  #每晚的21:30重啟apache。

  30 21 * * * /usr/local/etc/rc.d/lighttpd restart

  #每月1、10、22日

  45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

  #每天早上6點(diǎn)10分

  10 6 * * * date

  #每?jī)蓚€(gè)小時(shí)

  0 */2 * * * date

  #晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí),早上8點(diǎn)

  0 23-7/2,8 * * * date

  #每個(gè)月的4號(hào)和每個(gè)禮拜的禮拜一到禮拜三的早上11點(diǎn)

  0 11 4 * mon-wed date

  #1月份日早上4點(diǎn)

  0 4 1 jan * date

關(guān)鍵詞標(biāo)簽:linux

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關(guān)下載

    人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載