今天就跟大家聊聊有關(guān)如何進(jìn)行常見的linux自動化任務(wù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為陵水黎族企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站設(shè)計,陵水黎族網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
實現(xiàn)“自動化”有如下好處:
節(jié)省人力,一個腳本就夠了。
在夜晚自動執(zhí)行可以避開網(wǎng)站流量高峰期,不影響網(wǎng)站白天的效率。
準(zhǔn)確,設(shè)置完善的情況下,不會出差錯。
當(dāng)然最重要的還是省心了,不用頻繁的敲某些命令了。
開機(jī)啟動應(yīng)該是我們很經(jīng)常的需求了,我們常需要在開機(jī)時就自動執(zhí)行某些命令來開啟服務(wù),進(jìn)程等,有了它我們不必再在每次開機(jī)時輸入同一堆命令。
chkconfig命令
使用chkconfig命令可以在設(shè)置在不同啟動級別下啟動特定的服務(wù)或是程序。
先說一下linux的運行級別:
等級0表示:表示關(guān)機(jī)
等級1表示:單用戶模式
等級2表示:不帶NFS功能的多用戶命令行模式
等級3表示:有帶NFS功能的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:重新啟動
chkconfig的命令如下:
chkconfig --list //命令查看已設(shè)置的開啟自啟動列表。 xxxd 0:off 1:off 2:on ... 6:off //list的結(jié)果,表示在xxxd服務(wù)在啟動級別為2 3 4 5 的情況下會自動啟動。 chkconfig --add xxxd//向任務(wù)列表中添加一個xxxd服務(wù) chkconfig [--level 1/2/../6] xxxd on/off//設(shè)置xxxd用服務(wù)在n狀態(tài)為開/關(guān),[]內(nèi)省略則在2345級別開啟 chkconfig --del xxxd //將任務(wù)列表中的xxxd服務(wù)刪除
rc.d文件的編輯
也可以直接編輯/etc/rc.d/目錄下的文件來實現(xiàn)開機(jī)自啟動。此目錄下有很多文件,rcn.d是在啟動狀態(tài)為n的情況下的啟動文件夾,rc、rc.sysinit、init.d都是系統(tǒng)的模塊或系統(tǒng)設(shè)置的自啟文件[夾]。
我們用vim rc.local 編輯 rc.local文件,來定制自己的自啟計劃。命令十分簡單,就像平常在操作一樣。如/usr/local/apache/bin/apachectl start表示開機(jī)自啟動apache服務(wù)器。
at是一個簡單的功能簡單的定時任務(wù)程序,它只能進(jìn)行一次性的定時任務(wù),其用法如下:
#at time//at加時間啟動at命令 at>operation//輸入要執(zhí)行的操作 at>Ctrl+D//按Ctrl+D退出命令編輯
其time的常見形式如下
at H:m tomorrow //第二天的H點m分 at now + n minutes/hours/days/weeks //在n分/時/天/周后 at midnight //在午夜=-= at H:m pm/am //在當(dāng)天上午/下午的H點m分
我們也可以在/var/spool/at文件中查看at的當(dāng)前命令。還需要注意的是,linux默認(rèn)atd進(jìn)程關(guān)閉狀態(tài),需要手動打開。
linux內(nèi)置的cron進(jìn)程能幫我們實現(xiàn)這些需求,cron搭配shell腳本,非常復(fù)雜的指令也沒有問題。
cron介紹
cron守護(hù)進(jìn)程是一個由實用程序和配置文件組成的小型子系統(tǒng),在幾乎所有類 UNIX 系統(tǒng)上都可以找到某種風(fēng)格的cron,我們可以用ps aux|grep cron找到crond這個守護(hù)進(jìn)程。
我們經(jīng)常使用的是crontab命令是cron table的簡寫,它是cron的配置文件,也可以叫它作業(yè)列表,我們可以在以下文件夾內(nèi)找到相關(guān)配置文件。
/var/spool/cron/ 目錄下存放的是每個用戶包括root的crontab任務(wù),每個任務(wù)以創(chuàng)建者的名字命名
/etc/crontab 這個文件負(fù)責(zé)調(diào)度各種管理和維護(hù)任務(wù)。
/etc/cron.d/ 這個目錄用來存放任何要執(zhí)行的crontab文件或腳本。
我們還可以把腳本放在
/etc/con.hourly、/etc/con.daily、/etc/con.weekly、/etc/con.monthly目錄中,讓它每小時/天/星期、月執(zhí)行一次。
crontab的使用
我們常用的命令如下:
crontab [-u username]//省略用戶表表示操作當(dāng)前用戶的crontab -e (編輯工作表) -l (列出工作表里的命令) -r (刪除工作作)
我們用crontab -e進(jìn)入當(dāng)前用戶的工作表編輯,是常見的vim界面。每行是一條命令。
crontab的命令構(gòu)成為 時間+動作,其時間有分、時、日、月、周五種,操作符有
* 取值范圍內(nèi)的所有數(shù)字
/ 每過多少個數(shù)字
- 從X到Z
, 散列數(shù)字
以下是幾個例子。
時間 注釋 0 0 25 12 * //在12月25日的0時0分 */5 * * * * //每過5分鐘 * 4-6 * * * //每天的4 5 6點 * * * * 2,5 //每周二和周五
如果我們的命令有邏輯判斷等非常復(fù)雜的操作時,再直接編輯crontab就有點困難了,這時,我們可以使用shell腳本。其來歷,分類定義與題不符,不再多說,我們直接說它的用法。
我們用vim /usr/sh/test.sh來使用vim編輯一個shell腳本
#!/bin/sh //聲明開始shell腳本 a = "hello world" //定義一個shell變量 echo $a //熟悉的echo,輸出a變量
然后crontab -e編輯crontab,添加 */5 * * * * /usr/sh/test.sh每隔五分鐘運行一次test.sh腳本,也可以用 /phppath/php /filepath/test.php 來用php進(jìn)程來執(zhí)行php程序。
看完上述內(nèi)容,你們對如何進(jìn)行常見的linux自動化任務(wù)有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
本文題目:如何進(jìn)行常見的linux自動化任務(wù)
標(biāo)題路徑:http://vcdvsql.cn/article38/pdeesp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、手機(jī)網(wǎng)站建設(shè)、服務(wù)器托管、全網(wǎng)營銷推廣、網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)