电脑互动吧

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

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

[复制链接]
发表于 2014-12-17 09:54:56 | 显示全部楼层 |阅读模式
  本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下
2 E4 S; V. T  r6 d5 h4 {  有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务# `% e0 G2 W9 L0 ?
  主要用三种方式进行这一操作:
2 e: D' [" s( J$ @  p  ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)( L4 [6 }& q3 `/ Z& e
  chkonfig 命令行运行级别设置5 X! \1 Z7 _' i0 O
  ntsysv 伪图形运行级别设置. @. l  h3 O8 u$ z6 s$ E4 h9 y$ I! T
  注意:, _" E/ }; r; w: V' W
  1.这三种方式主要用于以redhat为基础的发行版3 n8 j) i; T" a) f1 V9 P- G
  2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验
. ?' C8 y8 {/ c4 x9 Y  第一种方式:ln -s 建立启动软连接
! N7 |( d3 N9 V: v9 x  在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录
3 _- L9 b- |0 z  
  }- }. R4 a* q  Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策& ^  h$ g3 ?& G0 I$ V: \) g
  这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务2 Z1 \( O) A$ g% n, e3 H* w
  由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务
4 w$ D/ a, Y9 P  d$ u0 b  K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行
1 e0 [/ y$ a  l# U8 w8 i4 U   ! Y# r5 b% ~, E3 Z0 U! c4 z$ R) e
  因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可- r" ^0 f$ ^3 i/ n1 G$ I6 l! y
  [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
2 d( Y* P, X& R; X: U  此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动* B6 U0 j7 q6 H
  如果需要在多个运行级别下设置自启动,则需建立多个软链接3 f% A' X5 m0 f
  这种方式比较繁琐,适用于自定义的服务脚本
/ O3 a5 K! C9 `# [& v  如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式; R4 B2 a5 R$ n( U  `, l
  第二种方式:chkconfig! @8 ~3 b$ h. G
   5 e1 {8 b' }$ ^  f
  如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off
! \& L" v( P1 l' u5 h/ v* [0 \0 d  在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项
( g( A! z9 d+ C! z0 A1 }3 D  
8 w- Z. I- t& p/ J" |4 t  上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
4 k2 H' e+ j5 O" z  Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态7 j' Q' g" I; K. @4 j  g
  第三种方式:ntsysv 伪图形+ B( Y! {8 a1 }' l
  ntsysv和chkconfig其实是一样的,只不过加上了图形而已
3 l* O3 }# Y* \2 m( [  启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务5 |) S) |& N( d: C( b* \
   # V% z) @( S/ {) I: R7 Y6 v
  默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
: Z7 Z2 S4 A, r# P% c( f% M1 U8 [. P  比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3% p, H' ^+ v, R/ z% V; A4 \
  如果想自定义运行级别可使用ntsysv --level方式
8 }0 E1 A$ R) D$ d) f# [) U   & G2 i# p& k) @, R0 J' Q
  以上三种操作需要保证服务脚本文件可执行,并且要有root权限. W6 P/ x/ P, O$ S
  其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
9 b/ @; H/ K) `( y9 v. C- [  比如ftp、samba、ssh、httpd等等+ i1 h1 u  j' [+ T: M1 F
  并且,要做相关设置需要弄清楚运行级别的问题" W! P; v1 v; x" ?
  Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start
& z  L$ o0 v3 c3 h; p7 T  实际上还可以这样,service 服务名 start
7 t1 m: |1 P& M- l' F  
' b( O" j" f4 f! m* t; _
回复

使用道具 举报

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

本版积分规则

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

浙公网安备 33032402001025号

GMT+8, 2025-10-22 16:20 , Processed in 0.062867 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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