Linux开机启动顺序启动顺序及配置开机启动

Linux:开机启动顺序启动顺序及配置开机启动

开机启动顺序

1、加载内核

2、启动 init(/etc/inittab) pid=1

3、系统初始化 /etc/rc.d/rc.sysinit

4、运行开机启动 /etc/rc.d/rc*.d #软链指向 /etc/init.d/ 通过 chkconfig 命令配置

5、非系统服务启动项 /etc/rc.d/rc.local(就是 /etc/rc.local)

6、等待用户登录 /sbin/mingetty

1
2
3
4
5
6
7
8
9
10
11

自启动脚本

1、每个用户
/etc/profile(/etc/profile.d)登录时都执行 # 环境变量
/etc/bashrc 运行bash shell时执行此文件

2、特定用户
~/.bash_profile 登录时 ~/.profile(Debian)
~/.bashrc 登录时以及每次打开新的 shell 时
~/.bash_logout 每次退出系统(退出bash shell)时,执行该文

1
2
3
4
5
6
7
8

参考
Linux 开机(脚本)启动顺序

Linux开机自动加载的几种方法

(1)编辑文件 /etc/rc.local

vim /etc/rc.local

#!/bin/sh

#This script will be executed after all the other init scripts.
#You can put your own initialization stuff in here if you don't
#want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/etc/init.d/mysqld start #mysql开机启动
/etc/init.d/nginx start #nginx开机启动
/etc/init.d/php-fpm start #php-fpm开机启动
/etc/init.d/memcached start #memcache开机启动

# 在文件末尾(exit 0之前)加上你开机需要启动的程序或执行的命令即可
# (执行的程序需要写绝对路径,添加到系统环境变量的除外),如:

/usr/local/thttpd/sbin/thttpd -C /usr/local/thttpd/etc/thttpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

(2)自己写一个shell脚本

将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,
系统启动后就会自动执行该目录下的所有shell脚本。

(3)通过chkconfig命令设置

将启动文件cp到 /etc/init.d/或者/etc/rc.d/init.d/(前者是后者的软连接)下

vim 启动文件,文件前面务必添加如下三行代码,否侧会提示chkconfig不支持

#!/bin/sh 告诉系统使用的shell,所以的shell脚本都是这样
#chkconfig: 35 20 80 分别代表运行级别,启动优先权,关闭优先权,此行代码必须
#description: http server(自己随便发挥)//两行都注释掉!!!,此行代码必须

1
2
3

chkconfig --add 脚本文件名 # 操作后就已经添加了

1

例如

/etc/init.d/rds_start.sh

#!/bin/sh
#chkconfig: 2345 80 90
#description:rds_start.sh
cd /home/softs/rds/bin/
nohup ./rds_start.sh &

1
2
3
4
5

说明:
2345表示系统运行级别是2,3,4或者5时都启动此服务,
20,是启动的优先级,
80是关闭的优先级,
如果启动优先级配置的数太小时如0时,则有可能启动不成功,
因为此时可能其依赖的网络服务还没有启动,从而导致自启动失败。

chmod +x /etc/init.d/auto_start.sh

chkconfig --add rds_start.sh # 添加到系统服务

chkconfig rds_start.sh on # 设置开机启动
————————————————

猜你喜欢

转载自www.cnblogs.com/shigfdengys/p/12349037.html