本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下
9 S) T' `& q. S4 R6 g& a 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务
; u: L: s# ]1 e7 m: t4 \: g 主要用三种方式进行这一操作:. @: V! l5 j# o5 A5 {
ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
7 w( D' R# B, f% R( Z( H chkonfig 命令行运行级别设置8 h% B$ B L7 S; p( i) _
ntsysv 伪图形运行级别设置
5 V& p& q$ n; {, x0 c* M 注意:
# | S# T' w. }$ I: x 1.这三种方式主要用于以redhat为基础的发行版. R8 D" o& p2 H1 X
2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验
# ^' W+ k% U6 W8 |' ]$ @; ]( A) k 第一种方式:ln -s 建立启动软连接
! N% b- W' f7 u; }; l" i 在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录
7 `( H/ R( u8 J- F/ Q1 D ! K# [) d3 ?$ E. i
Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策
$ j6 h3 L, m0 t; f* N5 z; x 这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
3 e% h2 |; u& Q6 [, C, k 由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务, _( j4 `4 o/ o$ R8 |" U6 z
K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行
, T+ P/ |7 S; e2 _1 A! ] 1 L" ^' Y5 J I7 v- @# j4 Y
因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可
* H" O2 c7 ?) k [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
! ~" ]5 Y2 {9 D. e1 q6 f* f5 ^ 此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动, A* `0 H5 H' n* e. t% I2 L
如果需要在多个运行级别下设置自启动,则需建立多个软链接8 c4 k4 m# ~, f. d" _* V) n+ ]
这种方式比较繁琐,适用于自定义的服务脚本2 _/ ~' x/ X5 }8 C- P! y
如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式
7 v0 F! X+ l. v4 i* b2 e 第二种方式:chkconfig8 ], @1 m+ p" i
* T o) D. i/ K0 P: n
如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off3 w8 e( }/ U9 q9 s# s" L. v1 v
在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项% g3 k0 Q+ r5 k$ N: o
9 O9 a6 t# Z% g
上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别' q m. Z& w. v b; y( A; T
Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态8 O/ G* X: j: y, l; H% t6 E7 L3 |
第三种方式:ntsysv 伪图形) }1 D2 d7 u" U5 ]7 q7 g
ntsysv和chkconfig其实是一样的,只不过加上了图形而已* W0 O3 b! g! d, w1 b8 q7 w
启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
( y9 Z8 c, \/ ]. b3 z+ J 
# i$ v. F# ~/ m4 b8 ^# b0 M% m4 l 默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
0 W$ q3 N$ h+ p 比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3
0 w, ~2 _+ S9 Q. @" ` 如果想自定义运行级别可使用ntsysv --level方式, W Y: f7 ~* Y6 C$ R/ j7 _ W7 A
/ L, r- \: [# c6 e; j& G: U. C
以上三种操作需要保证服务脚本文件可执行,并且要有root权限% K) G. z0 M4 R. c
其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
2 I$ X5 M. F+ t( h. H; N 比如ftp、samba、ssh、httpd等等
* S* q! Z" W, X) s$ f. P, R5 D 并且,要做相关设置需要弄清楚运行级别的问题- W- _- Y' |' {# D7 k% A/ `
Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start) t; r, T' b5 t) E
实际上还可以这样,service 服务名 start, ]! x( V0 h: `5 s: |
% `) h% ?! _) O( [, a( T1 Z
|