linux定時執(zhí)行shell腳本

寫一個shell腳本,定時執(zhí)行簡單示例

很多時候我們有希望服務器定時去運行一個腳本來觸發(fā)一個操作酷宵,比如說定時去備份服務器數(shù)據(jù)钩乍、數(shù)據(jù)庫數(shù)據(jù)等 不適合人工經(jīng)常做的一些操作這里簡單說下

Shell俗稱殼溺拱,類似于DOS下的command和后來的cmd.exe卤档。它接收用戶命令蝙泼,然后調(diào)用相應的應用程序。作為命令語言劝枣,它交互式解釋和執(zhí)行用戶輸入的命令或者自動地解釋和執(zhí)行預先設定好的一連串的命令汤踏;作為程序設計語言,它定義了各種變量和參數(shù)舔腾,并提供了許多在高級語言中才具有的控制結構溪胶,包括循環(huán)和分支。

我的虛擬機是centos7.0.2

接下來 寫一個簡單的shell命令:

1.先進入根目錄

cd /root

2.使用vi編輯器 可以直接 # vim hello.sh編寫第一個shell文件 hello.sh稳诚, 注意一定要以.sh結尾

vim hello.sh

3.編寫第一個shell文件哗脖,#!/bin/bash 是必須要寫的,表示要是/bin/bash這個執(zhí)行腳本的命令執(zhí)行接下來寫的腳本, echo "hello world !!"表示想前端打印一句話扳还,具體看各自需求才避。

image

4.通過chmod命令賦予該腳本的執(zhí)行權限chmod 755 hello.sh,否則沒有執(zhí)行權限普办,/root/hello.sh表示在全路徑下執(zhí)行該shell腳本

image

就此一個簡單的shell腳本就這樣寫完了 具體的這里就不講了工扎。(說白了,shell腳本就相當于一個文件衔蹲,它專門來干自己獨立的任務)

雖然一個簡單的shell腳本寫完了 但是運行后只能執(zhí)行一次 對很多應用場景來說還是不夠,接下來說一下定時任務

linux應該都有crontab呈础,沒有的話可以安裝一下:

yum install vixie-cron

yum install crontabs

vixie-cron軟件包是cron的主程序舆驶;
crontabs軟件包是用來安裝、卸裝而钞、或列舉用來驅(qū)動 cron 守護進程的表格的程序沙廉。

安裝完以后開啟crontab服務

service crond start

用以下的方法啟動、關閉這個cron服務:
service crond start //啟動服務
service crond stop //關閉服務
service crond restart //重啟服務
service crond reload //重新載入配置

查看crontab服務狀態(tài):service crond status
手動啟動crontab服務:service crond start

查看crontab服務是否已設置為開機啟動臼节,執(zhí)行命令:ntsysv
加入開機自動啟動:
chkconfig –level 35 crond on

也可以用設置開機自動啟動crond服務:
[root@CentOS ~]# chkconfig crond on

image

查看各個開機級別的crond服務運行情況
[root@CentOS ~]# chkconfig –list crond
crond 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
可以看到2撬陵、3珊皿、4、5級別開機會自動啟動crond服務
取消開機自動啟動crond服務:
[root@CentOS ~]# chkconfig crond off

設置需要執(zhí)行的腳本

新增調(diào)度任務可用兩種方法:
1)巨税、在命令行輸入: crontab -e 然后添加相應的任務蟋定,wq存盤退出。
2)草添、直接編輯/etc/crontab 文件驶兜,即vi /etc/crontab,添加相應的任務远寸。
crontab -e配置是針對某個用戶的抄淑,而編輯/etc/crontab是針對系統(tǒng)的任務
查看調(diào)度任務
crontab -l //列出當前的所有調(diào)度任務
crontab -l -u jp //列出用戶jp的所有調(diào)度任務
刪除任務調(diào)度工作
crontab -r //刪除所有任務調(diào)度工作
直接編輯 vim /etc/crontab ,默認的文件形式如下:

image

前四行是有關設置cron任務運行的環(huán)境變量。

SHELL變量的值指定系統(tǒng)使用的SHELL環(huán)境(該樣例為bash shell)驰后,

PATH變量定義了執(zhí)行命令的路徑肆资。Cron的輸出以電子郵件的形式發(fā)給MAILTO變量定義的用戶名。

如果MAILTO變量定義為空字符串(MAILTO="")灶芝,電子郵件不會被發(fā)送郑原。執(zhí)行命令或腳本時HOME變量可用來設置基目錄。

文件/etc/crontab中每行任務的描述格式如下:

minute hour day month dayofweek command

minute - 從0到59的整數(shù)

hour - 從0到23的整數(shù)

day - 從1到31的整數(shù) (必須是指定月份的有效日期)

month - 從1到12的整數(shù) (或如Jan或Feb簡寫的月份)

dayofweek - 從0到7的整數(shù)监署,0或7用來描述周日 (或用Sun或Mon簡寫來表示)

command - 需要執(zhí)行的命令(可用as ls /proc >> /tmp/proc或 執(zhí)行自定義腳本的命令)

root表示以root用戶身份來運行

run-parts表示后面跟著的是一個文件夾颤专,要執(zhí)行的是該文件夾下的所有腳本

對于以上各語句,星號()表示所有可用的值钠乏。例如在指代month時表示每月執(zhí)行(需要符合其他限制條件)該命令栖秕。

整數(shù)間的連字號(-)表示整數(shù)列,例如1-4意思是整數(shù)1,2,3,4

指定數(shù)值由逗號分開晓避。如:3,4,6,8表示這四個指定整數(shù)簇捍。

符號“/”指定步進設置∏喂埃“/<interger>”表示步進值暑塑。如0-59/2定義每兩分鐘執(zhí)行一次。步進值也可用星號表示锅必。如*/3用來運行每三個月份運行指定任務事格。

以“#”開頭的為注釋行,不會被執(zhí)行。

比如上述圖中 執(zhí)行的是每隔一分鐘執(zhí)行一半hello.sh腳本 上邊腳本輸出的內(nèi)容 大家也知道 >> 符號 指定文件獲取內(nèi)容的存放位置 比如訪問一個地址 命令 curl http://www.baidu.com

linux系統(tǒng)字符界面 無法顯示畫面只能把訪問的頁面編譯后的代碼原樣輸出 如:

image

這樣大家看著很亂吧

當然也有-I 參數(shù) 靜默訪問 curl -I http://www.baidu.com

image

這樣只顯示一組http狀態(tài) 但還是很亂 直接把他寫進固定的日志文件就方便多了

cat 一下 查看 這樣就簡單多了

image

就此一個簡單的定時任務就完成了

結束語》》夕陽無限好搞隐,黃昏又何妨驹愚。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市劣纲,隨后出現(xiàn)的幾起案子逢捺,更是在濱河造成了極大的恐慌,老刑警劉巖癞季,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劫瞳,死亡現(xiàn)場離奇詭異倘潜,居然都是意外死亡,警方通過查閱死者的電腦和手機志于,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門涮因,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恨憎,你說我怎么就攤上這事蕊退。” “怎么了憔恳?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵瓤荔,是天一觀的道長。 經(jīng)常有香客問我钥组,道長输硝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任程梦,我火速辦了婚禮点把,結果婚禮上,老公的妹妹穿的比我還像新娘屿附。我一直安慰自己郎逃,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布挺份。 她就那樣靜靜地躺著褒翰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匀泊。 梳的紋絲不亂的頭發(fā)上优训,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音各聘,去河邊找鬼揣非。 笑死,一個胖子當著我的面吹牛躲因,可吹牛的內(nèi)容都是我干的早敬。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼大脉,長吁一口氣:“原來是場噩夢啊……” “哼搁嗓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起箱靴,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荷愕,沒想到半個月后衡怀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棍矛,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年抛杨,在試婚紗的時候發(fā)現(xiàn)自己被綠了够委。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡怖现,死狀恐怖茁帽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情屈嗤,我是刑警寧澤潘拨,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站饶号,受9級特大地震影響铁追,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜茫船,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一琅束、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧算谈,春花似錦涩禀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至罪治,卻和暖如春丽声,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背觉义。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工雁社, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晒骇。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓霉撵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親洪囤。 傳聞我的和親對象是個殘疾皇子徒坡,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345