LINUX实 *** :Ubuntu 16.04设置rc.local开机启动命令脚本的方法

LINUX实 *** :Ubuntu 16.04设置rc.local开机启动命令脚本的方法,第1张

概述介绍《LINUX实 *** :Ubuntu 16.04设置rc.local开机启动命令/脚本的方法》开发教程,希望对您有用。

《liNUX实 *** :Ubuntu 16.04设置rc.local开机启动命令/脚本的方法》要点:
本文介绍了liNUX实 *** :Ubuntu 16.04设置rc.local开机启动命令/脚本的方法,希望对您有用。如果有疑问,可以联系我们。

Ubuntu 16.04设置rc.local开机启动命令/脚本的办法(通过update-rc.d管理Ubuntu开机启动程序/服务)

注意: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.#logexec 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] <basename> removeupdate-rc.d [-n] <basename> defaultsupdate-rc.d [-n] <basename> disable|enable [S|2|3|4|5]update-rc.d <basename> start|stop <NN> <runlevels>-n: not really-f: force

此中:

实例:

(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)、安装两个启动剧本AB,让A先于B启动,后于B停止:

update-rc.d A 10 40update-rc.d B 20 30

(4)、删除一个启动剧本sample_init_script,如果剧本不存在则直接跳过:

update-rc.d -f sample_init_script remove

这一条命令实际上做的便是一一删除所有位于/etc/rcX.d目录下指向/etc/init.dsample_init_script的链接(可能存在多个链接文件),update-rc.d只不过简化了这一步骤.

(5)制止Apache/MysqL相关组件开机自启:

update-rc.d -f apache2 removeupdate-rc.d -f MysqL remove

8、服务的启动结束状态

#通过service,好比sudo service xxx statussudo service xxx startsudo service xxx stopsudo service xxx restart

9、查看全部服务列表

sudo service --status-all

更多Ubuntu相关信息见Ubuntu 专题页面 /topicnews.aspx?tID=2

本文永远更新链接地址

更多liNUX教程,尽在内存溢出PHP学院专栏。欢迎交流!

总结

以上是内存溢出为你收集整理的LINUX实 *** :Ubuntu 16.04设置rc.local开机启动命令/脚本的方法全部内容,希望文章能够帮你解决LINUX实 *** :Ubuntu 16.04设置rc.local开机启动命令/脚本的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1042347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存