濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Linux CentOS 定時(shí)運(yùn)行腳本配置的方法

Linux CentOS 定時(shí)運(yùn)行腳本配置的方法

熱門標(biāo)簽:金融行業(yè)外呼線路 長(zhǎng)沙開福怎么申請(qǐng)400電話 高德地圖標(biāo)注無(wú)營(yíng)業(yè)執(zhí)照 賀州市地圖標(biāo)注app 江蘇電銷外呼防封系統(tǒng)是什么 東莞人工智能電銷機(jī)器人供應(yīng)商 百度地圖標(biāo)注要不要錢 智能電話機(jī)器人線路 廣州電銷機(jī)器人系統(tǒng)圖

很多時(shí)候我們有希望服務(wù)器定時(shí)去運(yùn)行一個(gè)腳本來觸發(fā)一個(gè)操作,比如使用七牛的工具上傳,如果同步文件里面有新增加一個(gè)文件,這個(gè)時(shí)候我們可以提供定時(shí)腳本去完成我們需要的同步命令(七牛的qrsbox工具是自動(dòng)會(huì)同步的,只需要在同步文件夾里面增加一個(gè)文件就會(huì)自動(dòng)監(jiān)聽上傳)。

1.安裝crontab

[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs

vixie-cron軟件包是cron的主程序;

crontabs軟件包是用來安裝、卸裝、或列舉用來驅(qū)動(dòng) cron 守護(hù)進(jìn)程的表格的程序。

2.開啟crontab服務(wù)

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

用以下的方法啟動(dòng)、關(guān)閉這個(gè)cron服務(wù):

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

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

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

service crond reload //重新載入配置

查看crontab服務(wù)狀態(tài):service crond status

手動(dòng)啟動(dòng)crontab服務(wù):service crond start

查看crontab服務(wù)是否已設(shè)置為開機(jī)啟動(dòng),執(zhí)行命令:ntsysv

加入開機(jī)自動(dòng)啟動(dòng):

chkconfig –level 35 crond on

另外順帶介紹下ntsysv和chkconfig命令:

關(guān)于ntsysv命令是類圖形界面管理模式來設(shè)置開機(jī)啟動(dòng),需要先安裝才可以使用,yum install -y ntsysv安裝好之后只需要運(yùn)行一個(gè)ntsysv即可出現(xiàn)一個(gè)類似圖像化的管理界面。

上下鍵:可以在中間的方框當(dāng)中,在各個(gè)服務(wù)之間移動(dòng);

空格鍵:可以用來選擇你所需要的服務(wù),[*]表示開起啟動(dòng);

tab鍵:可以在方框、OK、Cancel之間移動(dòng);

[F1]鍵:可以顯示該服務(wù)的說明。

關(guān)于chkconfig命令行的形式設(shè)置是否開機(jī)自啟動(dòng)或者查詢某個(gè)服務(wù)6個(gè)開機(jī)級(jí)別的運(yùn)行情況。

設(shè)置開機(jī)自動(dòng)啟動(dòng)crond服務(wù):

[root@CentOS ~]# chkconfig crond on

查看各個(gè)開機(jī)級(jí)別的crond服務(wù)運(yùn)行情況

[root@CentOS ~]# chkconfig –list crond

crond 0:關(guān)閉 1:關(guān)閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關(guān)閉

可以看到2、3、4、5級(jí)別開機(jī)會(huì)自動(dòng)啟動(dòng)crond服務(wù)

取消開機(jī)自動(dòng)啟動(dòng)crond服務(wù):

[root@CentOS ~]# chkconfig crond off

3.設(shè)置需要執(zhí)行的腳本

新增調(diào)度任務(wù)可用兩種方法:

1)、在命令行輸入: crontab -e 然后添加相應(yīng)的任務(wù),wq存盤退出。

2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應(yīng)的任務(wù)。

crontab -e配置是針對(duì)某個(gè)用戶的,而編輯/etc/crontab是針對(duì)系統(tǒng)的任務(wù)

查看調(diào)度任務(wù)

crontab -l //列出當(dāng)前的所有調(diào)度任務(wù)

crontab -l -u jp //列出用戶jp的所有調(diào)度任務(wù)

刪除任務(wù)調(diào)度工作

crontab -r //刪除所有任務(wù)調(diào)度工作

直接編輯 vim /etc/crontab ,默認(rèn)的文件形式如下:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

這個(gè)文本解釋的已經(jīng)比較直觀了,其中

星號(hào)(*):代表所有可能的值,例如month字段如果是星號(hào),則表示在滿足其它字段的制約條件后每月都執(zhí)行該命令操作。

逗號(hào)(,):可以用逗號(hào)隔開的值指定一個(gè)列表范圍,例如,“1,2,5,7,8,9”

中杠(-):可以用整數(shù)之間的中杠表示一個(gè)整數(shù)范圍,例如“2-6”表示“2,3,4,5,6”

正斜線(/):可以用正斜線指定時(shí)間的間隔頻率,例如“0-23/2”表示每?jī)尚r(shí)執(zhí)行一次。同時(shí)正斜線可以和星號(hào)一起使用,例如*/10,如果用在minute字段,表示每十分鐘執(zhí)行一次。

這里舉幾個(gè)例子,基本涵蓋了常見的一些情況:

實(shí)例1

5   *    *      *   *   ls     指定每小時(shí)的第5分鐘執(zhí)行一次ls命令
30   5    *      *   *   ls     指定每天的 5:30 執(zhí)行l(wèi)s命令
30   7    8      *   *   ls     指定每月8號(hào)的7:30分執(zhí)行l(wèi)s命令
30   5    8      6   *   ls     指定每年的6月8日5:30執(zhí)行l(wèi)s命令
30   5    8      6   *   ls     指定每年的6月8日5:30執(zhí)行l(wèi)s命令
30   6    *      *   0   ls     指定每星期日的6:30執(zhí)行l(wèi)s命令
30   3   10,20     *   *   ls     每月10號(hào)及20號(hào)的3:30執(zhí)行l(wèi)s命令
25   8-11  *      *   *   ls     每天8-11點(diǎn)的第25分鐘執(zhí)行l(wèi)s命令
*/15  *    *      *   *   ls     每15分鐘執(zhí)行一次ls命令
30   6   */10     *   *   ls     每個(gè)月中,每隔10天6:30執(zhí)行一次ls命令
22   4    *      *   *   root   run-parts   /etc/cron.daily
#每天4:22以root身份執(zhí)行/etc/cron.daily目錄中的所有可執(zhí)行文件,run-parts參數(shù)表示,執(zhí)行后面目錄中的所有可執(zhí)行文件。

實(shí)例2

#每晚的21:30 重啟apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
#每月1、10、22日的4 : 45重啟apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
#每周六、周日的1 : 10重啟apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
#每天18 : 00至23 : 00之間每隔30分鐘重啟apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
#每星期六的11 : 00 pm重啟apache
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
#晚上11點(diǎn)到早上7點(diǎn)之間,每隔一小時(shí)重啟apache
0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
#每一小時(shí)重啟apache
0 */1 * * * /usr/local/etc/rc.d/lighttpd restart
#每月的4號(hào)與每周一到周三的11點(diǎn)重啟apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
#一月一號(hào)的4點(diǎn)重啟apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
#每半小時(shí)同步一下時(shí)間
0/30 * * * * /usr/sbin/ntpdate 210.72.145.44

注意

* *1 * * * 命令表示是每小時(shí)之內(nèi)的每一分鐘都執(zhí)行。

必須指定在每個(gè)小時(shí)的第幾分鐘執(zhí)行,也就是說第一個(gè)*號(hào)必須改成一個(gè)數(shù)值。

因?yàn)?號(hào)表示的就是每一分鐘。

另外小時(shí)位的/1和沒有區(qū)別,都是每小時(shí)一次。

如果是設(shè)置*/2,實(shí)際上是能被2整除的小時(shí)數(shù)而不是從定時(shí)設(shè)置開始2小時(shí)后執(zhí)行,比如9點(diǎn)設(shè)的到10點(diǎn)就會(huì)執(zhí)行。

最后可能會(huì)遇到下面這個(gè)問題

root用戶下 輸入 crontab -l 顯示

no crontab for root 例如:

[root@CentOS ~]# crontab -l

no crontab for root

這個(gè)問題非常簡(jiǎn)單,同樣在 root 用戶下輸入 crontab -e

按 Esc 按: wq 回車

在輸入 crontab -l 就沒有問題了

主要原因是由于這個(gè)liunx服務(wù)器 第一次使用 crontab ,還沒有生成對(duì)應(yīng)的文件導(dǎo)致的,執(zhí)行了 編輯(crontab -e)后 就生成了這個(gè)文件

以上這篇Linux CentOS 定時(shí)運(yùn)行腳本配置的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

標(biāo)簽:永州 洛陽(yáng) 張家界 北京 滄州 玉樹 松原 廊坊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux CentOS 定時(shí)運(yùn)行腳本配置的方法》,本文關(guān)鍵詞  Linux,CentOS,定時(shí),運(yùn)行,腳本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux CentOS 定時(shí)運(yùn)行腳本配置的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Linux CentOS 定時(shí)運(yùn)行腳本配置的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    海伦市| 南康市| 洞头县| 工布江达县| 安仁县| 株洲县| 衡阳县| 永州市| 石河子市| 资阳市| 无棣县| 西乌珠穆沁旗| 丹阳市| 哈密市| 湘阴县| 泽普县| 义马市| 通辽市| 庆云县| 南宁市| 洪雅县| 石嘴山市| 阿瓦提县| 棋牌| 松阳县| 许昌县| 商河县| 桂平市| 柳州市| 邵武市| 上饶市| 嘉定区| 钟祥市| 新干县| 安新县| 贵德县| 平武县| 民乐县| 新丰县| 华池县| 龙井市|