Linux啟動/關機時執行指令碼
Linux 啟動順序:
1、 BIOS自檢
2、 執行系統核心並檢測硬體
3、 執行系統的第一個程式init
4、 init讀取系統引導配置檔案/etc/inittab中的資訊進行初始化
/etc/rc.d/rc.sysinit------系統初始化指令碼
/etc/rc.d/rcX.d/[KS]*------根據執行級別配置服務
/etc/rc.d/rc.local---------執行本地特殊配置
其它---------不同執行級別的特殊服務
Linux啟動執行init程式來啟動相關程式初始化,與啟動相關的一個概念是執行級,執行級是作業系統當前執行的級別,在不同執行級別上可以定義屬於該執行級的啟動程式,系統的執行級別可以在/etc/inittab檔案指定,與執行級相關執行程式透過從源/etc/rc.d/init.d下連結到目的/etc/rcX.d,這裡X為系統的預設執行級別,因此,預設的啟動指令碼放在/etc/rc.d/init.d下。
事例,任務在啟動時執行mm:
方法:
1. 建立自啟動指令碼/etc/rc.d/init.d/mm,內容為:
#!/bin/bash
/usr/local/bin/* (注:此內容替換為你想執行的命令)
設定檔案的屬性為可執行:
#chmod +x /etc/rc.d/init.d/mm
2. 檢視計算機執行級別,在檔案/etc/inittab裡看到id:3:initdefault:,則此係統執行級別為3。
3. 到/etc/rc3.d目錄下,把你要執行的可執行檔案做一個軟連線,而且在命名的時候要以大寫S字母開頭,S之後的數字大小代表執行順序的先後,數字越大越靠後執行。
#ln -s /etc/rc.d/init.d/mm /etc/rc3.d/S100mm
#ln -s /etc/rc.d/init.d/mm /etc/rc0.d/K20mm
關機執行指令碼:
1. vi /etc/init.d/mm
#!/bin/bash
ls >/dev/null 2>&1 (此處把ls替換為你自己的內容)
注意:此處的順序不能更改,否則達不到想要的效果。此時先將標準輸出重定向到 /dev/null,然後將標準錯誤重定向到標準輸出,由於標準輸出已經重定向到了/dev/null,因此標準錯誤也會重定向到/dev/null。
2. chmod +x /etc/init.d/mm
3. ln -s /etc/init.d/mm /etc/rc6.d/K01mm /var/lock/subsys/
4. 當你在關機時一切在悄無聲息的進行著。
注:(1)本人在實驗時,做關機執行指令碼不成功解決方法。是在 /var/lock/subsys/中建立相同的檔案mm,或複製或者直接軟連結過來 ln -s /etc/init.d/mm /var/lock/subsys/ 。
(2)若在字元介面下只設定開機啟動,只在rc3.d目錄下連結S100filename便可。
如:ln -s /etc/init.d/filename /etc/rc3.d/S100filename
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-2059565/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux(CentOS)啟動時自動執行指令碼(rc.local)LinuxCentOS指令碼
- 如何在 Linux 啟動時自動執行命令或指令碼Linux指令碼
- 啟動vi時自動執行的指令碼指令碼
- Linux配置開機自啟動執行指令碼方法有哪些?Linux指令碼
- 如何在Docker容器啟動時自動執行指令碼Docker指令碼
- linux 定時關機指令碼Linux指令碼
- Linux 定時執行指令碼、命令Linux指令碼
- Linux定時執行.sh指令碼Linux指令碼
- Linux管理指令碼之自動執行指令碼Linux指令碼
- linux開機自動啟動指令碼Linux指令碼
- Linux中配置開機自啟動執行指令碼的方法是什麼?Linux指令碼
- Linux配置開機自啟動執行指令碼方法有哪些?常見介紹!Linux指令碼
- oracle啟動和關閉指令碼for LinuxOracle指令碼Linux
- 設定Linux關機時自動執行指定命令Linux
- Linux 新增指令碼開機自啟動Linux指令碼
- Orale自動啟動以及關閉指令碼_linux指令碼Linux
- 開機自動執行python指令碼Python指令碼
- Linux系統如何設定開機自動執行指令碼?Linux指令碼
- Linux、UNIX設定開機自動執行命令、指令碼配置Linux指令碼
- linux啟定時指令碼Linux指令碼
- 使用php作linux自動執行指令碼PHPLinux指令碼
- LINUX 自動執行指令碼的命令配置Linux指令碼
- 在 Linux 命令列指令碼中執行 sudo 時自動輸入密碼Linux命令列指令碼密碼
- Linux定時執行指定的指令碼檔案Linux指令碼
- linux下rman增量備份指令碼以及指令碼自動執行Linux指令碼
- linux-啟動指令碼Linux指令碼
- Linux自啟動指令碼Linux指令碼
- 定時 MYSQL 動作-LINUX下用CRON實現定時執行指令碼(轉)MySqlLinux指令碼
- Linux 檢視程式啟動時間、執行時間Linux
- Mongodb 啟動關閉指令碼並設定開機自動啟動MongodbMongoDB指令碼
- 『動善時』JMeter基礎 — 57、Linux系統中執行JMeter指令碼JMeterLinux指令碼
- Linux開機啟動程式或指令碼詳解Linux指令碼
- windows自動登入linux 並執行指令碼WindowsLinux指令碼
- .net 程式通過 crontab 無法啟動,手動執行指令碼可以啟動指令碼
- 生成 Linux 執行時間報告的 Bash 指令碼Linux指令碼
- Linux下Oracle隨機自動啟動指令碼設定LinuxOracle隨機指令碼
- javascript指令碼何時被執行JavaScript指令碼
- Springboot啟動時執行指定程式碼Spring Boot