本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下
/ B; L. D% D: g2 C1 y$ O, j" i 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务
$ v5 H" i2 T( Q2 [ 主要用三种方式进行这一操作:
# T3 d/ Y! P, g0 T- n7 o ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
& t8 L6 o8 x% s3 |- C8 j' F. z chkonfig 命令行运行级别设置6 F. N; g8 @$ V7 {8 r' [% P9 B( x% ?
ntsysv 伪图形运行级别设置
" R! Q8 j1 m9 D* ]2 R+ n 注意:) u; {. P5 {; ~7 E; T
1.这三种方式主要用于以redhat为基础的发行版+ K9 @+ k- ^; m7 [( p) R
2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验& L+ M% y8 T5 q6 V$ J
第一种方式:ln -s 建立启动软连接
" e; G# I- q6 T6 ^ 在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录5 I: Y: Q* a% |9 X
+ ]. s1 z* \. z2 ^
Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策
6 a: P. [4 E, y$ G E 这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务5 N! V! T* [# M
由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务% s3 X2 }( K* m; o, Q4 x* R
K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行
: W9 X- R; _+ J" L
, s4 K# A/ j1 I' I; F |7 h 因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可1 I( O4 g. d1 b' ?+ @/ A& W
[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh3 j& C0 d4 o1 C- b
此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动
. p6 u) R1 h8 N9 f$ [ 如果需要在多个运行级别下设置自启动,则需建立多个软链接" h/ \5 C% Z, B1 E' q
这种方式比较繁琐,适用于自定义的服务脚本7 p2 P" O! Z# Y* d4 v- H
如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式
T' [+ n2 f" v. `( \7 ] 第二种方式:chkconfig
3 F8 q0 Y, _- v: S5 d1 ^8 m 8 {; G$ d) w1 V+ g
如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off& M- N: C9 q' C7 r
在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项
. v& X2 e* i( @ ) |( J$ r' f& H4 e& j7 M
上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
0 n8 _) G8 x. V- }' U5 Y& p Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态
6 N8 m+ T; G6 j 第三种方式:ntsysv 伪图形0 O" ?6 k- q+ r" {- u5 n' V
ntsysv和chkconfig其实是一样的,只不过加上了图形而已" A7 H/ Z# I0 v* Z/ u
启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
6 \) o% p; N; m0 S6 z' _3 t+ N" I- D , W) O i$ Z1 N5 f' }4 P8 K
默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
( u& k$ u0 P! \: ?, q4 p 比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3
0 C# \& k2 c: x4 i. Q6 a 如果想自定义运行级别可使用ntsysv --level方式
- |3 h6 ~: V4 i: h
% B r- Q# c: D4 x+ X! T+ H% }, S 以上三种操作需要保证服务脚本文件可执行,并且要有root权限
6 |, C1 a- c) `6 q/ g 其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
t4 h- F9 ~' E( _# M3 D: B 比如ftp、samba、ssh、httpd等等6 N$ f5 g8 `) Z! |: v
并且,要做相关设置需要弄清楚运行级别的问题
8 [- `! c" p# T Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start
% p5 k4 S* T" A 实际上还可以这样,service 服务名 start
! O: I9 v" Y1 @! o. x" q 7 o+ c1 {7 ^ @! k; @. ?
|