Linux中脚本开机自启动
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux添加开机自启动脚本示例详解
Linux下(Ubuntu12)添加开机自启动脚本有两种方法:
一、在/etc/rc.local中添加
如果不想将脚本粘来粘去,或创建链接什么的。则:
step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;
step2. 再在/etc/rc.local中添加一行以绝对路径启动脚本的行(在exit 0这一行前添加);如:
$ vim /etc/rc.local
#!/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.
/home /farsight/Shell/test1.sh 注:这是脚本文件的绝对路径
exit 0
保存并退出;
再重启动测试下,则在其它的程序都启动完成后,将启动脚本;
二、可设定启动优先级的高级开机自启动脚本
1. 查看服务是否自启动
查看服务的当前状态
#service servicename status
查看服务的开机自动启动状态
#chkconfig --list servicename
1. 写好脚本,如mysql,把它放到/etc/init.d 下,修改属性:
$ sudo chmod x mysql
2. 创建符号连接:
$ cd /etc
下面有这么几个目录值得注意:
rcS.d rc0.d rc1.d ... rc6.d ,
(0,1…….6 代表启动级别0代表停止,1代表单用户模式,2-5代表多用户模式,6代表重启)
它们的作用就相当于redhat 下的rc.d ,
你可以把脚本放到rcS.d,然后修改文件名,给它一个启动序号,如:
S88mysql.
不过最好的办法是放到相应的启动级别下面。
具体作法:
step1: 先把mysql 放到/etc/init.d目录下
step2: 查看当前系统的启动级别
$ sudo runlevel
N 3
step3: 设定启动级别
$ update-rc.d mysql start 98 2 .
98 为启动序号,
2是系统的运行级别,可自己调整,
注意不要忘了结尾的句点。
现在我们到/etc/rc2.d 下,就多了一个S98mysql 这样的符号链接。
4. 然后启动系统,测试一下设置是否有效。
三、移除符号链接
当你需要移除这个符号连接时,方法有三种:
1. 直接到/etc/rc
2.d 下删掉相应的链接,当然不是最好的方法
2. $ update-rc.d -f s10 remove //推荐做法
3. 如果update-rc.d 命令你不熟悉,还可以试试看rcconf 这个命令,也很方便。
四、引文
来源:/hosewen/blog/item/e77e27dbf4da4d68d0164e8e.html linux 开机自动启动脚本方法
1. redhat的启动方式和执行次序是:
加载内核
执行init程序
/etc/rc.d/rc.sysinit # 由init执行的第一个脚本
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式
/etc/rc.d/rc.local #相应级别服务启动之后、在执行该文件(其实也可以把需要执行的命令写到该文件中)
/sbin/mingetty # 等待用户登录
在Redhat中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括:调入keymap以及系统字体
启动swapping
设置主机名
设置NIS域名
检查(fsck)并mount文件系统
打开quota
装载声卡模块
设置系统时钟
等等。
/etc/rc.d/rc则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。
凡是以Kxx开头的,都以stop为参数来调用;
凡是以Sxx开头的,都以start为参数来调用。
调用的顺序按xx从小到大来执行。(其中xx是数字、表示的是启动顺序)
例如,
假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用
/etc/rc.d/rc3.d/下的脚本。
值得一提的是,Redhat中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,
所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。
init在等待/etc/rc.d/rc执行完毕之后
(因为在/etc/inittab中/etc/rc.d/rc的action是wait),
将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。
至此,LINUX的启动结束。
2. init运行级别及指令
2.1 什么是INIT:
init是Linux系统操作中不可缺少的程序之一。
所谓的init进程,它是一个由内核启动的用户级进程。