linux開機啓動設置的幾種方法

Linux開機自啓動的幾種方式:

1.chkconfig

以supervisord服務腳本爲例:php

      第1步:把上面的腳本放在/etc/init.d/文件linux

ln -s ./supervisord  /etc/init.d/supervisordapache

  第2步:將啓動腳本權限改成可執行。編輯器

chmod a+x /etc/init.d/supervisord

  第3步:添加啓動項。spa

chkconfig --add supervisord
chkconfig supervisord on

  第4步:檢查是否設置成功。操作系統

chkconfig --list | grep supervisord
supervisord     0:關閉    1:關閉    2:啓用    3:啓用    4:啓用    5:啓用    6:關閉

二、手動配置在文件中加入啓動命令命令行

 /etc/rc.local

三、文件指向路徑是/etc/init.d下的腳本文件rest

/etc/rc[0-6].d

0-6是linux操做系統的運行級別,運行runlevel查看當前運行級code

運行級別0:系統停機狀態,系統默認運行級別不能設爲0,不然不能正常啓動
運行級別1:單用戶工做狀態,root權限用戶,用於系統維護,禁止遠程登錄
運行級別2:多用戶狀態(沒有NFS)
運行級別3:徹底的多用戶狀態(有NFS),登錄後進入控制檯命令行模式
運行級別4:系統未使用,保留
運行級別5:X11控制檯,登錄後進入圖形GUI模式
運行級別6:系統正常關閉並重啓,默認運行級別不能設爲6,不然不能正常啓動
/etc/rc[0-6].d目錄下文件的命名規則:S|K + nn + script進程

S|K,S開頭命名的是開機要執行的腳本,K開頭命名的是關機要執行的腳本

nn取值0-100,表示優先級,數字越大,優先級越低

script是軟連接指向的腳本的文件名

/etc/init.d目錄下的控制腳本接受參數

-- start   //啓動

-- stop //中止

-- restart //重啓

-- status //狀態

-- force-reload  //從新載入配置

update-rc.d命令爲/etc/init.d目錄下的腳本創建或刪除到/etc/rc[0-6].d的軟連接

 

增長一個服務
            添加這個服務並讓它開機自動執行           
            update-rc.d apache2 defaults
           而且能夠指定該服務的啓動順序:
           update-rc.d apache2 defaults 90
           還能夠更詳細的控制start與kill順序:
           update-rc.d apache2 defaults 20 80
           其中前面的20是start時的運行順序級別,80爲kill時的級別。也能夠寫成:
           update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
           其中0~6爲運行級別。

刪除一個服務
           update-rc.d -f apache2 remove

四、 設置程序的.desktop文件

經過將應用程序的.desktop文件放在自啓動目錄下,那麼當用戶登錄桌面環境時,就會自動啓動這些應用程序。

linux中自啓動目錄是$XDG_CONFIG_DIRS/autostart和$XDG_CONFIG_HOME/autostart這兩個,能夠打印看一下,有的可能只有其中一個。

把設置好的.desktop放在這兩個目錄下,那麼指定的程序就會在桌面環境啓動時啓動,當兩個自啓動目錄同時存在相同的文件時,只會運行其中一個($XDG_CONFIG_HOME)。

program.desktop文件寫法:

[Desktop Entry]
Name=program
Exec=/usr/bin/program
Type=Application
Comment=my program
只須要有這關鍵的幾行就能夠了,Exec的路徑必定要正確。.desktop文件還有其餘定製項,可參考其餘文章。


五、crontab定時執行任務

週期執行的任務通常由cron這個守護進程來處理[ps -ef|grep cron]

cron的配置文件稱爲「crontab」,是「cron table」的簡寫

  service crond start //啓動服務
  service crond stop //關閉服務
  service crond restart //重啓服務
  service crond reload //從新載入配置
  service crond status //查看服務狀態

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

每兩個小時
0 */2 * * * echo "Have a break now." >> /tmp/test.txt


crontab -l  //在標準輸出上顯示當前的c
crontab -r // 刪除當前的crontab文件。
crontab -e  //使用VISUAL或者EDITOR環境變量所指的編輯器編輯當前的crontab文件,當結束編輯離開時,編輯後的文件將自動安裝。

 除了數字還有幾個個特殊的符號就是"*"、"/"和"-"、",",*表明全部的取值範圍內的數字,"/"表明每的意思,"/5"表示每5個單位,"-"表明從某個數字到某個數字,","分開幾個離散的數字。

相關文章
相關標籤/搜索