一、编写系统服务启动脚本
RHEL6风格
1、Linux运行级别
Linux运行有七个级别
级别 描述
0 停机状态,系统默认运行级别不能设置为0,否则系统不能正常启动。使用init0命令,可关闭系统
1 单用户状态,此状态仅root用户可登录。用于系统维护,禁止远程登录,相当于Windows下的安全模式
2 多用户状态 (无NFS)。没有网络服务
3 完整的多用户状态(有NFS)。有网络服务,登录后进入控制台命令行模式
4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽
5 图形化模式,登录后进入图形GUI模式或GNOME,KDE图形化界面,如X Window系统
6 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动,就会一直开机重启
在 /etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
[root@localhost ~]# ls /etc/rc.d/
init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
[root@localhost ~]# ls /etc/rc.d/ | grep 'rc[0-9].d'
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
2、Rhel7默认使用xfs文件系统,rhel6默认为ext4文件系统,但从rhel6.8起开始支持xfs系统。
3、设置默认启动级别
RHel6: vim /etc/inittab 将末行的id:3:initdefault中的3改为相应数字即可
RHel7: rhel7采用了targets来定义运行级别,设置默认启动级别的命令为systemctl set-default x.target , 重启后即可生效
查看:
[root@localhost ~]# systemctl get-default
graphical.target
设置:
systemctl set-default graphical.target 图形界面
4、RHEL6 服务脚本
#! /bin/sh
#
#nginx - this script starts and stops the nginx daemin
#
#chkconfig: - 85 15 -- 指定在那个运行级别启动或关闭脚本,数字代表顺序
-
代表2345运行级别,也可以指定35
-
85 代表启动的顺序 S85nginx
-
15 代表关闭的顺序 K15nginx
#description: Nginx is an HTTP(s) server,HTTP(S) r everse \
#proxy and IMAP/POP3 proxy server
脚本功能说明
脚本增加执行权限: chmod +x /etc/init.d/nginx
添加成系统服务脚本: chkconfig --add nginx
设置开机自启动: chkconfig --level 35 nginx on