本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下- w; \# t, T& f+ l
有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务! g" E' A; F: h" S$ m/ A( _
主要用三种方式进行这一操作:
+ H) N+ t2 E# ?+ t1 ~( } ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
( `+ F! i2 k# ~- v8 n) w chkonfig 命令行运行级别设置! _0 N; A2 o3 n9 M+ ?
ntsysv 伪图形运行级别设置
& u; @. e: V3 T1 W 注意:: T! `* p0 ~ m `( ], F% n) Y& o+ ^
1.这三种方式主要用于以redhat为基础的发行版
% c+ w- c# z9 z8 ? e! N 2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验1 s! |: f" z* N" }* z; H0 X; L" x1 x4 c
第一种方式:ln -s 建立启动软连接. {! [) |3 j/ f, _
在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录0 B2 o3 n7 Q( r _; V

& u' j$ P1 D0 s( I( @ Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策
7 ^# X0 m" g$ r 这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务+ S, V7 y m7 p' t
由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务2 E2 v _5 a6 T
K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行; [2 p6 H. ]2 b# K. x
7 V4 u) C. M0 \
因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可, b9 R6 e/ A, U5 V$ Y& h2 s# Z
[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
+ P9 K; c( n% ?2 x1 h 此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动
/ I1 H$ V* r3 J: }9 Z$ r, V) C 如果需要在多个运行级别下设置自启动,则需建立多个软链接' T( I% ~1 U8 n# V1 n; W) K* ?9 V( z
这种方式比较繁琐,适用于自定义的服务脚本
) W* U' ~* D2 Q3 N9 Q' A- l( P 如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式* Q$ Y( l/ `7 u8 n! x1 S
第二种方式:chkconfig j# s! T/ t) ]- U
2 l: X- {+ A4 H9 z1 r
如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off; W( w, i3 h& s1 i( s! {7 D7 m
在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项5 O% {) O- l1 }. \1 e& A, a
A% s4 k9 ]" w3 Z: q2 c0 A1 Q
上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
1 a# G* _3 X9 v/ [" R) Q8 }0 E( d Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态6 r0 V& v6 O# N) p- [( w
第三种方式:ntsysv 伪图形
2 C6 w3 I7 b/ A* [' ~! P& ~ ntsysv和chkconfig其实是一样的,只不过加上了图形而已
* C5 @( m8 O. y. F 启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
" @ `. W2 l0 ^- k 3 a2 K+ r* D6 `9 a8 n! S
默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少! V6 R0 G( w$ ~" V& u
比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3
; D& Q. R$ D! Q! M! _# ~ 如果想自定义运行级别可使用ntsysv --level方式% {/ ^/ w* F. d2 T2 @# G& g: v
* _: q! c* ~; o# u
以上三种操作需要保证服务脚本文件可执行,并且要有root权限& _3 T# L* }8 F y
其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务) F- C5 G( Y) U; L
比如ftp、samba、ssh、httpd等等5 n$ `6 O7 Y4 O# E H( a" X1 s; n
并且,要做相关设置需要弄清楚运行级别的问题
% g: q0 e$ d; b6 w( U1 d Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start7 ]+ F. E& r9 o4 g/ i
实际上还可以这样,service 服务名 start% D. ~: H1 ~2 }% x9 D! G
3 L6 Z& t! G) f7 P* S" I1 M
|