电脑互动吧

 找回密码
 注册
查看: 7592|回复: 0

在linux 自启动服务的三种设置方式

[复制链接]
发表于 2014-12-17 09:54:56 | 显示全部楼层 |阅读模式
  本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下0 C; S) R/ u" H( C9 a( J
  有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务
1 b5 j) W3 X/ y3 r6 d( d4 {9 C) m; M  主要用三种方式进行这一操作:
& c$ x; I% @) f4 X) |% ^  ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
( v7 g( [0 s6 |6 Q% p, p  chkonfig 命令行运行级别设置
+ r4 n) J1 @$ E6 C: i- d& H- o( ^9 n  ntsysv 伪图形运行级别设置
2 F" L: t$ c. T; C9 K% R  注意:) c  R" C' @! J/ O! p
  1.这三种方式主要用于以redhat为基础的发行版6 D1 i7 K' C" T2 W5 J
  2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验: O; Y' F* ?+ f8 L! Q
  第一种方式:ln -s 建立启动软连接) w1 L( v  N' q8 [
  在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录7 x$ e9 m+ S6 ?; b
   - z6 `1 Z- _) e
  Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策. l. q6 b# W9 z
  这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
7 Q3 M' O5 e; y1 l/ c! B/ n  由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务: g) u. a: _7 |" \1 q1 U
  K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行7 M9 @9 i! ]- ]0 \# S7 {
  
( P! v( z3 I+ U$ N0 L6 H  因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可% f: X- \1 j, U/ O. x) ~
  [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh: N. Q* l9 H1 G0 x9 T
  此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动
0 C; V* k) P4 ^. b0 q1 d% [, e  如果需要在多个运行级别下设置自启动,则需建立多个软链接
! c& L. B# P; I4 l  e+ j  |/ g  这种方式比较繁琐,适用于自定义的服务脚本
1 s# g+ n+ A5 L8 L+ A8 m! x6 W  如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式4 A. \6 e5 O. h& {: `
  第二种方式:chkconfig
/ c, R; Y4 ~3 V  G' p   6 A( k6 T! P. d
  如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off
2 ?8 R6 u! a" U3 F+ i4 A8 V7 i  在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项
" D: w# u" ~% T: _, j. Y+ B, C  
. h0 r* i; U7 `0 D- y0 H1 f! Z  上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
( \9 ]) m( ]% }0 z3 Z  Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态
* Y( W- W9 p9 X+ g9 [  第三种方式:ntsysv 伪图形, O! P+ u3 G5 }2 I) s' t
  ntsysv和chkconfig其实是一样的,只不过加上了图形而已
* }' M* y5 _6 D3 h5 s  启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
9 c9 x4 O8 F! ]" l% _- l0 e% E0 W   3 c% ?6 R' E8 }1 b6 }( m1 D' |! }
  默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
0 ]! [9 D( I9 c- G, i$ g  比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3
5 ~% L6 f# X, U/ q; l  j( ~: b  如果想自定义运行级别可使用ntsysv --level方式( c3 z/ R0 s/ A
   3 S( b+ o2 \$ E* H
  以上三种操作需要保证服务脚本文件可执行,并且要有root权限) W( P/ H; F) Z" j6 ]0 c
  其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
3 r6 Y" Z4 U8 A  C$ m' }  比如ftp、samba、ssh、httpd等等
+ x6 f2 o& k4 {  N8 b: i: I4 M  并且,要做相关设置需要弄清楚运行级别的问题
1 g# e; I8 w" _" S9 t, G  t  Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start
; ^1 t' f: z( K' _  实际上还可以这样,service 服务名 start6 N% ?, t( ]- _1 w. b' H5 w
   4 Z7 n, F5 |; P5 n6 |1 |
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|手机版|小黑屋|Archiver|电脑互动吧 ( 浙ICP备13037409号 )

浙公网安备 33032402001025号

GMT+8, 2025-10-18 17:01 , Processed in 0.077533 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表