1.開機啟動時自動運行程式
Linux載入後, 它將初始化硬體和裝置驅動, 然後運行第一個進程init。init根據設定檔繼續引導過程,啟動其它進程。通常情況下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目錄下的指令檔,可以使init自動啟動其它程式。例如:編輯 /etc/rc.d/rc.local 檔案,在檔案最末加上一行"xinit"或"startx",可以在開機啟動後直接進入X-Window。
2.登入時自動運行程式
使用者登入時,bash首先自動執行系統管理員建立的全域登入script :/etc/profile。然後bash在使用者起始目錄下按順序尋找三個特殊檔案中的一個:/.bash_profile、/.bash_login、 /.profile,但只執行最先找到的一個。
因此,只需根據實際需要在上述檔案中加入命令就可以實現使用者登入時自動運行某些程式(類似於DOS下的Autoexec.bat)。
3.退出登入時自動運行程式
退出登入時,bash自動執行個人的退出登入指令檔/.bash_logout。例如,在/.bash_logout中加入命令"tar -cvzf c.source.tgz *.c",則在每次退出登入時自動執行 "tar" 命令備份 *.c 檔案。
4.定期自動運行程式
Linux有一個稱為crond的精靈,主要功能是周期性地檢查 /var/spool/cron目錄下的一組命令檔案的內容,並在設定的時間執行這些檔案中的命令。使用者可以通過crontab 命令來建立、修改、刪除這些命令檔案。
例如,建立檔案crondFile,內容為"00 9 23 Jan * HappyBirthday",運行"crontab cronFile"命令後,每當元月23日上午9:00系統自動執行"HappyBirthday"的程式("*"表示不管當天是星期幾)。 (/etc/crontab中配置命令即可)也可以
5.定時自動運行程式一次
定時執行命令at 與crond 類似(但它只執行一次):命令在給定的時間執行,但不自動重複。at命令的一般格式為:at [ -f file ] time ,在指定的時間執行file檔案中所給出的所有命令。也可直接從鍵盤輸入命令:
6.建立開機自啟動指令碼
-----------------------------------------------------------
1) 將你的啟動指令碼複製到 /etc/init.d目錄下
以下假設你的指令檔名為 test。
2) 設定指令檔的許可權
$ sudo chmod 755 /etc/init.d/test
3) 執行如下命令將指令碼放到啟動指令碼中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
註:其中數字95是指令碼啟動的順序號,按照自己的需要相應修改即可。在你有多個啟動指令碼,而它們之間又有先後啟動的依賴關係時你就知道這個數位具體作用了。該命令的輸出資訊參考如下:
update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
卸載啟動指令碼的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令輸出的資訊參考如下:
Removing any system startup links for /etc/init.d/test … /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test
----------------------------------------------------
在CentOS系統下,主要有兩種方法設定自己安裝的程式開機啟動。
1、把啟動程式的命令添加到/etc/rc.d/rc.local檔案中,比如下面的是設定開機啟動httpd。 #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /usr/local/apache/bin/apachectl start
2、把寫好的啟動指令碼添加到目錄/etc/rc.d/init.d/,然後使用命令chkconfig設定開機啟動。
例如:我們把httpd的指令碼寫好後放進/etc/rc.d/init.d/目錄,使用 【把自己寫的服務放在系統服務位置】 chkconfig --add httpd 【添加我的服務--->到系統服務】 chkconfig httpd on 【設定此系統服務開啟】
命令即設定好了開機啟動。
PS: mysql開機自啟動就是:
#cp support-files/mysql.server /etc/init.d/mysql.server
----------------------------------------------------------------------------------------------------------------------------------
在Linux下如何?mysql的自啟動 在Linux中開機自動啟mysql
1) #> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
2) #> chmod +x /etc/init.d/mysql
3) #> chkconfig --add mysql
某些Linux(not RHAS3)還需要這個命令: #> chkconfig --level 345 mysql on
4) 將下面命令列append到檔案 /etc/rc.local (/etc/rc.d/rc.local)
/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'
其實我只做第4步,開機後MySQL也能啟動