linux下兩種設(shè)定任務(wù)定時(shí)執(zhí)行的方法
大家都熟知一般的殺毒軟件或者郵件系統(tǒng)又有時(shí)間設(shè)定功能,包括手機(jī)也有,那么作為操作系統(tǒng),在linux下事業(yè)也可以設(shè)定任務(wù)開始執(zhí)行的時(shí)間呢?今天我們河南北大青鳥鄭州IT培訓(xùn)學(xué)校就來給大家介紹兩種設(shè)定的方法。
1、at命令
假如我們只是想 要讓特定任務(wù)運(yùn)行一次,那么,這時(shí)候就要用到at監(jiān)控程序了。
設(shè)置at命令很簡單,指示定運(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ù)庫,要在別人不用系統(tǒng)時(shí)去處理數(shù)據(jù),比如凌晨3點(diǎn)10分。那么我們就應(yīng)該先建立/home/kyle/do_job腳本管理數(shù)據(jù)庫,計(jì)劃處理/home/kyle/do_job文件中的結(jié)果。正常方式是這樣啟動(dòng)下列命令:
# at 2:05 tomorrow
at>/home/kyle/do_job
at> Ctrl+D
AT Time中的時(shí)間表示方法
-----------------------------------------------------------------------
時(shí) 間 例子 說明
-----------------------------------------------------------------------
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檢查語法,用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í)行工具,可以在無需人工干預(yù)的情況下運(yùn)行作業(yè)。由于Cron 是Linux的內(nèi)置服務(wù),但它不自動(dòng)起來,可以用以下的方法啟動(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ù)提供以下幾種接口供大家使用:
直接用crontab命 令編輯
cron服務(wù)提供 crontab命令來設(shè)定cron服務(wù)的,以下是這個(gè)命令的一些參數(shù)與說明:
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ù)
比如說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
#每兩個(gè)小時(shí)
0 */2 * * * date
#晚上11點(diǎn)到早上8點(diǎn)之間每兩個(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
這樣設(shè)置代碼就可以輕松實(shí)現(xiàn)任務(wù)的定時(shí)執(zhí)行了,想要了解更多網(wǎng)絡(luò)技術(shù)知識(shí)請(qǐng)鏈接:http://i3061.cn/
本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問題,可以對(duì)在線咨詢老師進(jìn)行一對(duì)一問答!
推薦資訊
- 大學(xué)生就業(yè)熱門專業(yè)推薦... 2013-06-26
- 鄭州電腦技校推薦?... 2021-07-08
- 初中畢業(yè)學(xué)什么專業(yè)?初中文憑能... 2012-10-13
- 女孩子大學(xué)畢業(yè)后找不到好工作,... 2014-04-26
- 鄭州北大青鳥靠譜嗎... 2019-09-26
熱點(diǎn)資訊
- 電腦溫度多少是正常的情況呢?... 2018-09-07
- 四個(gè)策略及簡單的防護(hù)方法... 2018-09-07
- 對(duì)硬盤進(jìn)行雙分區(qū)有什么好處... 2018-09-07
- 文件加密的幾個(gè)簡單方法... 2018-09-07
- 計(jì)算機(jī)小技巧,80G硬盤巧變變成... 2018-09-07