本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下
/ q# y- z' \ Z; I4 v; u 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务
. \+ R! f- R x! I 主要用三种方式进行这一操作:
/ v0 w/ D- M+ \/ M, j+ [ ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
% n. X4 [) Q! p chkonfig 命令行运行级别设置
9 \/ F q( s; \7 z4 T& g ntsysv 伪图形运行级别设置5 R* s. {* a0 ]. ~; ~, c9 E
注意:( I! M& G' n1 C% {* D
1.这三种方式主要用于以redhat为基础的发行版
/ f! B7 B0 f9 E; k, v( q 2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验 E# j2 k" L. P& U3 F8 }$ X5 _4 v' R$ ]
第一种方式:ln -s 建立启动软连接
" H6 s K5 b: u/ @ 在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录6 c! {" b7 A+ U3 {3 a% O, n; j( y8 T

0 B1 [2 [+ m% q+ x: N Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策. b3 R; r1 z9 K1 W! i
这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
5 G# p4 `4 N$ _9 c$ h! d e" C( w 由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务
, S- m- G2 F9 m K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行( w* G4 r. f# l7 p

6 p$ u4 Y: C- d, \! U 因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可# w, W% z0 l+ R I. d# L7 q
[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
) ]3 Z1 |! L! A! ]( Q 此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动
: b3 q0 r1 G# U) p, r S 如果需要在多个运行级别下设置自启动,则需建立多个软链接
* n: C9 ^5 z2 y4 R# C 这种方式比较繁琐,适用于自定义的服务脚本 \% W3 x! @! ?' w
如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式3 {. w0 R g t- N8 j3 `- B; N
第二种方式:chkconfig) ?' |* j9 C9 M) K- g O

) }, U) i+ y1 j( E7 P: N" e 如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off
) d, ~" Q3 s! G( S9 O/ f 在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项) n" ]' H, [1 I

" b: q- z: b6 w) ~! S 上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
6 S4 b! `, N% ?3 l) \1 { Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态
8 @# _( |: L. ^ z5 J4 q4 x 第三种方式:ntsysv 伪图形3 k' ?5 S9 V( e- ^7 c C
ntsysv和chkconfig其实是一样的,只不过加上了图形而已+ G8 C! ]) `: ?% Q3 d8 {1 u T; [
启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务. N! g, O, N- e. m$ G- Y7 M
. W4 H) G4 a# I- Q5 ~6 j r
默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
- T: ?9 U1 V) I7 ?! J9 I 比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3. b# w. k2 ?& M) c! z5 e/ K
如果想自定义运行级别可使用ntsysv --level方式7 C+ ^+ j' [4 x4 b' `
$ H; H+ O; v+ |: Y5 C- S+ ^
以上三种操作需要保证服务脚本文件可执行,并且要有root权限. m6 m( h4 D2 e' b W5 Q
其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
/ j& U3 |5 q [/ [. R' z4 u* h 比如ftp、samba、ssh、httpd等等) B% O5 i; l. Q2 A9 F. N+ M. @
并且,要做相关设置需要弄清楚运行级别的问题
3 d7 @8 i/ p; c4 W9 }3 d Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start
; S* N+ _' [- l1 Q 实际上还可以这样,service 服务名 start
% ^$ i/ q. b, p% v: `# D% h* y 
+ i( H( ?0 F0 ?# v, A% Y |