电脑互动吧

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

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

[复制链接]
发表于 2014-12-17 09:54:56 | 显示全部楼层 |阅读模式
  本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下
0 M5 {$ X# X% ^$ c  有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务
2 b+ g' L; K) w0 t5 Y  主要用三种方式进行这一操作:; X( W6 }  e( @* y3 P8 P
  ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)! f! Y/ o9 K, s/ n/ G) L9 b. r1 ~
  chkonfig 命令行运行级别设置3 b5 C( _: F" Q: d0 l. o( `
  ntsysv 伪图形运行级别设置
6 I$ R/ z, n7 v# }$ y& P  注意:7 G- W3 @2 S- L4 H3 S
  1.这三种方式主要用于以redhat为基础的发行版% d/ Z  `8 c5 m8 ?; P- E8 j* w" ^$ J
  2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验" _. N* d& @) B( _$ i; S/ `0 w' |* o" T
  第一种方式:ln -s 建立启动软连接- [) z( ~& U) n9 v- h
  在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录& B' q0 U7 Q  g9 y: Z
   * [* f( C1 f) D2 i5 Y
  Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策
: {3 B; `1 }, M/ M& r7 t) w1 ?  这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
& i4 F( v! g! v% s  由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务3 Z) `2 J2 w' g
  K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行
7 }) d5 L4 G$ y  
$ l9 c, T% |' Y: ^$ a6 I* ~  因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可
* u0 x6 ~' n0 r: I) ?& L* d  [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh2 ?7 n& e, `( n
  此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动
" U' V8 i& m) g4 E0 U0 R  如果需要在多个运行级别下设置自启动,则需建立多个软链接
5 E  o, Q. G6 N4 c/ w5 V: X  这种方式比较繁琐,适用于自定义的服务脚本
$ V9 n+ {( R2 ?9 |. S! Z: J  E5 q% K  如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式
) d# F& T6 q, r6 a2 I4 v0 K) X  第二种方式:chkconfig3 A' S! T8 E; J# a; {
  
. l/ p' I' d3 B0 p( s  如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off" T+ |! g2 K* S+ Z6 ^( H5 i1 l  s+ L
  在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项
1 W5 _/ F# \' l1 B& V2 J   - x3 ^/ d7 }% e7 F, R! m
  上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
. |( u& o0 }+ ~4 O  Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态
& j6 _4 o/ L# ~1 r7 D) a5 V* k  第三种方式:ntsysv 伪图形
% v6 I. p6 I4 B" s% M7 [  u) M  ntsysv和chkconfig其实是一样的,只不过加上了图形而已
. ?# s" m0 |& l2 x( T( O, l  启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
0 [+ K! K# F3 t* p& _$ O+ B   4 J2 J- N0 d3 y9 U+ B. H' @- j  w0 H
  默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少# A, ~5 a  q* G$ L8 I* H
  比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3+ G9 s+ h; \1 ^5 K- d- o3 O8 J$ Z
  如果想自定义运行级别可使用ntsysv --level方式) C+ v" X, Z3 |6 l) k
  
- R( Y( [/ `2 L. y, h5 \8 o$ ~  以上三种操作需要保证服务脚本文件可执行,并且要有root权限
. D# H1 }9 m" ~/ D6 }3 S  其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
  H2 I/ @) S. y1 j  比如ftp、samba、ssh、httpd等等
4 E* ^( `; V: {! X! O3 |  并且,要做相关设置需要弄清楚运行级别的问题
" T0 _" M6 b) V- n" t3 \+ w2 W0 {  Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start
0 ?! r  W3 T( O9 k0 _5 k- q/ e  实际上还可以这样,service 服务名 start
! F1 G, m( W7 J$ k" ]  
% d2 L% f' S! v: E, t
回复

使用道具 举报

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

本版积分规则

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

浙公网安备 33032402001025号

GMT+8, 2025-8-24 10:14 , Processed in 0.078367 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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