两种开机执行脚本的方法及相关的一个命令。
修改/etc/rc.local
在/etc/rc.local的exit 0语句之间添加启动脚本。脚本必须具有可执行权限。
用update-rc.d命令添加开机执行脚本
创建要开机自动执行的脚本:/home/test/blog/startBlog.sh,并给予可执行权限:chmod +x /home/test/blog/startBlog.sh。
在/etc/init.d目录下创建链接文件到前面的脚本: ln -s /home/test/blog/startBlog.sh /etc/init.d/startBlog。
进入/etc/init.d目录,用 update-rc.d 命令将连接文件 startBlog 添加到启动脚本中去:update-rc.d startBlog defaults 99。
其中的99表示启动顺序,取值范围是0-99。序号越大的越晚执行。
移除启动的脚本:update-rc.d -f startBlog remove。
-f选项表示强制执行。
update-rc.d命令
此命令用于安装或移除System-V风格的初始化脚本连接。脚本是存放在 /etc/init.d/目录下的,当然可以在此目录创建连接文件连接到存放在其他地方的脚本文件。
此命令可以指定脚本的执行序号,序号的取值范围是 0-99,序号越大,越迟执行。
用法
update-rc.d [-n] [-f] name remove 用于移除脚本。
update-rc.d [-n] name default [NN | SS KK],NN表示执行序号(0-99),SS表示启动时的执行序号,KK表示关机时的执行序号,SS、KK主要用于在脚本直接的执行顺序上有依赖关系的情况下。
选项
-n:不做任何事情,只显示将要做的。(预览、做测试)
-f:强制移除符号连接,即使 /etc/init.d/script-name 仍然存在。
举例
update-rc.d startBlog defaults 99:添加一个启动连接,执行序号是99。
如果执行脚本B需要先执行脚本A,如下设置(A的启动顺序比B的小,结束顺序比B的大):
update-rc.d script_for_A defaults 80 20
update-rc.d script_for_B defaults 90 10
添加一个不被其他任何服务需要的服务:update-rc.d script_name defaults 98 02,
添加一个需要 开始/结束 序号在20的服务的服务:update-rc.d script_depends_on_service_20 default 21 19。
移除一个脚本,假定/etc/init.d/目录下的脚本文件已先被删除:update-rc.d script_name remove。
移除一个脚本,不管/etc/init.d/目录下的脚本文件是否已删除:update-rc.d -f script_name remove。
探究Ubuntu下的update-rc.d命令:http://www.linuxdiyf.com/linux/13362.html
Update-rc.d && rc.local管理Ubuntu的开机启动:http://www.linuxdiyf.com/linux/1057.html
通过update-rc.d来管理Ubuntu系统的自动启动程序:http://www.linuxdiyf.com/linux/1056.html
Ubuntu系统Update-rc.d命令:http://www.linuxdiyf.com/linux/906.html
openSUSE下开机自动运行脚本命令的方法:http://www.linuxdiyf.com/linux/1975.html
=========================================
apache2、nginx、redis这些服务安装之后,会随开机启动,当这些服务并不需要时,就存在cpu和内存的浪费。
利用 update-rc.d 命令 我们可以实现启动项的管理。
添加启动项:
删除启动项
运行例子:
查看/etc/rc*.d/ 目录下,*20redis_6379已经被删除,反之会被添加。
github最新版
====================================
update-rc.d的具体用法:1、删除一个服务
如果你想手动的完全禁用Apache2服务,你需要删除其中的所有在/etc/rcX.d中的单一链路。但是如果使用update-rc.d,则非常简单:
update-rc.d -f apache2 remove2、增加一个服务
如果你想重新添加这个服务并让它开机自动执行,你需要执行以下命令:
update-rc.d apache2 defaults