日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu 设置开机执行脚本_Ubuntu 16.04设置rc.local开机启动命令/脚本的方法

發布時間:2024/7/23 Ubuntu 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu 设置开机执行脚本_Ubuntu 16.04设置rc.local开机启动命令/脚本的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注意:rc.local腳本里面啟動的用戶默認為root權限。

一、rc.local腳本

rc.local腳本是一個Ubuntu開機后會自動執行的腳本,我們可以在該腳本內添加命令行指令。該腳本位于/etc/路徑下,需要root權限才能修改。

該腳本具體格式如下:

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.

exit 0

注意:一定要將命令添加在exit 0之前。里面可以直接寫命令或者執行Shell腳本文件sh。

二、關于放在rc.local里面時不啟動的問題:

1、可以先增加日志輸出功能,來查看最終為什么這個腳本不啟動的原因,這個是Memcached啟動時的樣例文件:

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.

#log

exec 2> /tmp/rc.local.log # send stderr from rc.local to a log file

exec 1>&2 # send stdout to the same log file

set -x #tell sh to display commands before execution

#Memcached

/usr/local/memcache/bin/memcached -p 11211 -m 64m -d -u rootexit 0

2、rc.local文件頭部/bin/sh修改為/bin/bash

3、如果是執行sh文件,那么要賦予執行權限sudo chmod +x xxx.sh,然后啟動時加上sudo sh xxx.sh

三、 update-rc.d增加開機啟動服務

給Ubuntu添加一個開機啟動腳本,操作如下:

1、新建個腳本文件new_service.sh

#!/bin/bash

# command content

exit 0

2、設置權限

sudo chmod 755 new_service.sh

#或者

sudo chmod +x new_service.sh

3、把腳本放置到啟動目錄下

sudo mv new_service.sh /etc/init.d/

4、將腳本添加到啟動腳本

執行如下指令,在這里90表明一個優先級,越高表示執行的越晚

cd /etc/init.d/

sudo update-rc.d new_service.sh defaults 90

5、移除Ubuntu開機腳本

sudo update-rc.d -f new_service.sh remove

6、通過sysv-rc-conf來管理上面啟動服務的啟動級別等,還是開機不啟動

sudo sysv-rc-conf

7、update-rc.d的詳細參數

使用update-rc.d命令需要指定腳本名稱和一些參數,它的格式看起來是這樣的(需要在root 權限下):

update-rc.d [-n] [-f] remove

update-rc.d [-n] defaults

update-rc.d [-n] disable|enable [S|2|3|4|5]

update-rc.d start|stop

-n: not really

-f: force

其中:

disable|enable:代表腳本還在/etc/init.d中,并設置當前狀態是手動啟動還是自動啟動。

start|stop:代表腳本還在/etc/init.d中,開機,并設置當前狀態是開始運行還是停止運行。(啟用后可配置開始運行與否)

NN:是一個決定啟動順序的兩位數字值。(例如90大于80,因此80對應的腳本先啟動或先停止)

runlevels:則指定了運行級別。

實例:

(1)、添加一個新的啟動腳本sample_init_script,并且指定為默認啟動順序、默認運行級別(還記得前面說的嗎,首先要有實際的文件存在于/etc/init.d,即若文件/etc/init.d/sample_init_script不存在,則該命令不會執行):

update-rc.d sample_init_script defaults

上一條命令等效于(中間是一個英文句點符號):

update-rc.d sample_init_script start 20 2 3 4 5 . stop 20 0 1 6

(2)、安裝一個啟動腳本sample_init_script,指定默認運行級別,但啟動順序為50:

update-rc.d sample_init_script defaults 50

(3)、安裝兩個啟動腳本A、B,讓A先于B啟動,后于B停止:

update-rc.d A 10 40

update-rc.d B 20 30

(4)、刪除一個啟動腳本sample_init_script,如果腳本不存在則直接跳過:

update-rc.d -f sample_init_script remove

這一條命令實際上做的就是一一刪除所有位于/etc/rcX.d目錄下指向/etc/init.d中sample_init_script的鏈接(可能存在多個鏈接文件),update-rc.d只不過簡化了這一步驟。

(5)禁止Apache/MySQL相關組件開機自啟:

update-rc.d -f apache2 remove

update-rc.d -f mysql remove

8、服務的啟動停止狀態

#通過service,比如

sudo service xxx status

sudo service xxx start

sudo service xxx stop

sudo service xxx restart

9、查看全部服務列表

sudo service --status-all

總結

以上是生活随笔為你收集整理的ubuntu 设置开机执行脚本_Ubuntu 16.04设置rc.local开机启动命令/脚本的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。