1. 概述
linux服務器已被廣泛使用,大多情況下都可以穩定的運行。但是不排除因其他外在因素例如斷電等原因而導致的關機。如果在沒有運維或者運維臨時無法及時維護時,那麼server的自啟動程序就顯得尤為重要了。
2. Linux Server設置
2.1 供電自啟動
主機在意外情況下斷電後關閉,當恢復供電希望主機自行啟動。可在主機BIOS中進行設置,一般機器都會支持。不同的機型可能描述不太一樣。一般在電源管理或者Power Manager中進行設置。
2.2 以某個用戶身份自動登錄
可以通過修改tty1.conf文件實現。
# sudo vim /etc/init/tty1.conf
修改最後一行:#USERNAME 完全可以是root用戶,這樣就可以免密碼自動進入tty1
exec /sbin/getty –autologin USERNAME tty1
或者
exec /bin/login -f USERNAME < /dev/tty1 > /dev/tty1 2>&1
這樣簡單修改下的話,就可以開機啟動直接進入tty1 控制台而不需要輸入任何的認證憑據了!
2.3 程序自啟動
Linux加載後, 它將初始化硬件和設備驅動, 然後運行第一個進程init。init根據配置
文件繼續引導過程,啟動其它進程。通常情況下,修改放置在
/etc/rc或
/etc/rc.d 或
/etc/rc?.d
目錄下的腳本文件,可以使init自動啟動其它程序。例如:編輯
/etc/rc.d/rc.local 文件(該文件通常是系統最後啟動的腳本),
例如將/home/username/test程序設為開機再啟動,可以編輯rc.local
# vim /etc/rc.local
[code]在最後exit 0之前加上一句:
/etc/rc.local
還可以創建啟動腳本starttest.sh
#!/bin/sh
# startup test
#如果需要管理員權限
echo "your passwd" | sudo -S /home/username/test
exit 0
[code]然後把starttest.sh執行路徑加入到rc.local中
或者添加系統服務:
[code]# sudo cp ./starttest.sh /etc/init.d/
# cd /etc/init.d
# update-rc.d starttest.sh defaults 99