电脑互动吧

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

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

[复制链接]
发表于 2014-12-17 09:54:56 | 显示全部楼层 |阅读模式
  本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下8 J( a  o, h- P; T
  有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务
# F7 J8 w3 a7 P" `  主要用三种方式进行这一操作:$ D# X7 x7 D: i! \& Q+ w1 w
  ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
! n6 [0 D" T* f+ e% {2 R  chkonfig 命令行运行级别设置7 F# Y& c3 G8 b. `, h: Q4 v
  ntsysv 伪图形运行级别设置
( o' G' N- e$ G& V6 k( O  s4 [! `  注意:
! Y/ Q" F; c2 v; {# }# e  1.这三种方式主要用于以redhat为基础的发行版! `# h! {4 ?, N) O( G# d" U
  2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验5 ?+ a; [+ ?$ x5 K; ]) y* {
  第一种方式:ln -s 建立启动软连接9 m6 W+ ]% S* w6 M6 z6 F0 V
  在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录
& @/ r3 y- L+ D, s  Z/ [  
. F6 @/ Q1 H  b) c, a5 O4 R  Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策+ d( y' J2 z. v! @& h
  这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
! `0 C3 A1 z; U6 |) G  由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务
: j  ]7 u' H9 p) G8 ^  K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行; t0 e# {; G2 A" M
  
  U) n- o% g* W$ T8 E, O4 o: ~  因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可2 g: Y! T9 C( X
  [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh: k7 I, [7 [' v1 J& p' d/ j
  此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动: F" m. x7 E0 ^$ ^+ t! y( {% T
  如果需要在多个运行级别下设置自启动,则需建立多个软链接
* X$ J5 Z% U; t  这种方式比较繁琐,适用于自定义的服务脚本% n: |, }4 s3 b6 H, r1 O
  如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式9 b" \: Z" C. |0 p2 d# z  d" z
  第二种方式:chkconfig
/ `7 C5 B( b5 S  B- r6 B6 d. F& h  
" p& E4 B& v* P: D  如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off
7 O4 y, |. N# B- B4 G  在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项+ z8 k0 }3 j9 ~
   $ g- m5 @% o& d
  上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
4 G& e. k5 ^* t6 g7 d  Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态
5 @8 c; L5 N% u4 s  第三种方式:ntsysv 伪图形; o2 ]* n% V7 z) S6 o- |
  ntsysv和chkconfig其实是一样的,只不过加上了图形而已2 v: o/ k0 n% Z& Y, g1 p4 c  O
  启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
6 B* |9 B& H  n' z7 r) A  
6 n1 Q5 b  O) ?7 \6 G" G  默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少$ P% f9 a* k' X
  比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3
, a$ y, _& s& o  M1 T2 t  如果想自定义运行级别可使用ntsysv --level方式+ i7 m  A" n$ }% P: a+ H
   2 K; ^: c+ d5 L' q
  以上三种操作需要保证服务脚本文件可执行,并且要有root权限5 I, m9 o- z5 O, ?
  其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务3 S8 Y/ U' R  }, P  Y
  比如ftp、samba、ssh、httpd等等
9 J' B: ?: i& ~7 L2 R  并且,要做相关设置需要弄清楚运行级别的问题
+ \6 R6 w! \6 C  Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start
/ ~8 W& H. g, Y4 C  实际上还可以这样,service 服务名 start
- _1 S% b' p. O. Q4 {4 m! i+ h- S  
& R. L" l1 d, @% }
回复

使用道具 举报

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

本版积分规则

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

浙公网安备 33032402001025号

GMT+8, 2024-5-17 17:43 , Processed in 0.085657 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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