电脑互动吧

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

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

[复制链接]
发表于 2014-12-17 09:54:56 | 显示全部楼层 |阅读模式
  本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下' C7 q: U- Z  @  m
  有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务6 L1 M2 c8 P7 X9 |) j! h
  主要用三种方式进行这一操作:
& q8 {3 Y9 z. B, e$ I- s  ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
: T  W4 @7 [% t/ N2 Z: c  chkonfig 命令行运行级别设置
+ A* V! Y  b6 ~1 V' E( _% t0 V/ o  ntsysv 伪图形运行级别设置. T) X$ [7 b# u: p
  注意:
3 d! U4 ~( L5 W2 S  1.这三种方式主要用于以redhat为基础的发行版
, S/ `0 d6 S, l- u3 L3 T! n  2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验) s  o) V+ N. j" E& }9 j5 Q
  第一种方式:ln -s 建立启动软连接1 ^0 ^' j8 A/ v/ V& u; r) H3 @
  在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录
# {) k( T% x$ Z/ y2 N   ) M3 r, u8 j  u! u2 Q) P
  Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策
! b2 Y& T( U) `9 e2 `8 F' O  这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
+ L' _$ L3 @6 Y; t$ a+ R  由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务2 x7 h, t7 b+ l( ~+ p
  K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行
! G" t! ?1 s8 l' E* b   2 [% w3 l, u% U3 E0 N' z
  因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可
1 S! o4 v! O0 E7 B  [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
- r3 o5 |5 j8 D0 m) ?  此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动( s- {  L: A2 b/ s7 N. O
  如果需要在多个运行级别下设置自启动,则需建立多个软链接: Q  N  G6 o; s. O6 y% e
  这种方式比较繁琐,适用于自定义的服务脚本
- Z& l" c6 C# {$ Y3 r  如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式, K+ r6 ~9 [3 ?9 S7 A! K  e) c
  第二种方式:chkconfig5 \0 I& j1 }0 M/ a
   ( A$ P6 M! Z# A9 c9 R- R
  如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off( ~8 g* e2 v3 p- v/ b) {* N9 C
  在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项3 d# T5 g4 i: R# x, c* B' e
   9 F# n$ R% F) M. O( F
  上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别7 I3 S" d3 E' e! |7 \: {3 u0 Z
  Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态
$ o$ S; @. r+ l1 _) _- R  第三种方式:ntsysv 伪图形, @- K7 s( H2 V( t4 Z- b) x
  ntsysv和chkconfig其实是一样的,只不过加上了图形而已
1 X4 d; Q3 w5 {2 ]; c! m  启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务* S. Z4 x0 Q4 F6 E
   - f# \. Z# X& p1 P6 K! s+ ?. Q
  默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
4 |- o. }! m6 `; Z' A4 A- ~  比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3
. F% K, g3 B4 G" y2 o  如果想自定义运行级别可使用ntsysv --level方式7 y' R$ S$ Q& V0 A. e- c
   * c8 \, ?# l0 j1 Y8 o5 t
  以上三种操作需要保证服务脚本文件可执行,并且要有root权限1 h  w! K8 c0 Z, z% g: c- i
  其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
; F% u* u6 A# z8 {6 z2 Z7 ?. ?  比如ftp、samba、ssh、httpd等等1 L0 f1 D8 Y! E7 e
  并且,要做相关设置需要弄清楚运行级别的问题
7 D  A7 e, \5 }) k# D3 `  Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start
8 \/ d0 B# i, Q* V( I/ F( j9 @3 ^  实际上还可以这样,service 服务名 start' S8 m) m* V5 W8 Q/ K2 N
   4 p% c4 i( d/ D* Q6 q
回复

使用道具 举报

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

本版积分规则

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

浙公网安备 33032402001025号

GMT+8, 2026-2-2 23:00 , Processed in 0.078546 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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