电脑互动吧

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

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

[复制链接]
发表于 2014-12-17 09:54:56 | 显示全部楼层 |阅读模式
  本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下
, w+ K+ N$ a7 x  有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务" Q8 i' U2 F( Q: `. b
  主要用三种方式进行这一操作:: N5 I) j& N& g/ U, C) e# c
  ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
9 q) _% r" y1 v4 E+ y. D1 N5 F  chkonfig 命令行运行级别设置; l& v% q8 g7 J% N) m
  ntsysv 伪图形运行级别设置
  I- V( X# i9 V  注意:- L2 m* e  P7 X! i" L' d& w
  1.这三种方式主要用于以redhat为基础的发行版4 I" ?! A# U+ J  _& }4 A/ H
  2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验' F" ~' X  R$ f" f8 J/ u* w
  第一种方式:ln -s 建立启动软连接
5 t4 ?1 t( z) H, J* t  在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录
9 V" C& x1 F0 {- b7 ^* K3 a2 O" N   7 s3 t" m. r9 p) Y
  Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策
8 Z- @6 B) a4 ]) f3 {  这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务. @* o  J1 P4 b* R; A% H- p
  由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务% A9 M$ \+ G3 ?* m( Z. ]
  K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行- b0 _$ Q& w) p
   # @1 @# X4 O) r/ R: W1 l
  因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可
, B1 L; T2 h2 L5 d  [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh) S4 a3 R# o- |5 h
  此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动
% x1 [% `8 B7 K, H- M; V( u  如果需要在多个运行级别下设置自启动,则需建立多个软链接
7 d* t2 P* `1 F: W  这种方式比较繁琐,适用于自定义的服务脚本7 p8 k; E' n' G: o# U/ K
  如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式: Q* ]& t) f2 R) E% @( h+ N& }
  第二种方式:chkconfig* ~4 e) g& r4 }  s- H
   ( N; G: O' ]& r2 }1 \6 t1 u5 y0 g
  如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off: R7 k; Z/ n. N: v, y) Z4 K' K! ?$ ~
  在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项
3 o( r" N# ?8 D7 F0 D$ w, u; ?4 T$ O  
) @7 U+ O& c) i3 h) Y$ \* E1 n) w5 D  上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
* p$ Q  y* L. L4 D5 ~2 ^  Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态- ~( x) ~2 b' g
  第三种方式:ntsysv 伪图形
7 P; o& ]5 k; f8 c& O. _  ntsysv和chkconfig其实是一样的,只不过加上了图形而已
6 [8 @7 w2 j+ |9 K  启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
" w( |. \$ \$ R, T3 T: _  
3 Z6 F) c3 Y* l* e) O% ~) V  o+ ~  默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
5 j" P6 N5 E# P2 \; }4 A1 l: b  比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3' x! G$ o: r6 ?6 W2 }. q: o" R
  如果想自定义运行级别可使用ntsysv --level方式9 r* m& Y: P, y  X- h% N; N9 H
  
+ f( K* |, q; H1 I7 t- q( `* w( b  以上三种操作需要保证服务脚本文件可执行,并且要有root权限, ~0 A& O7 i6 N( R4 i' a
  其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
* _; R) `- a9 H( O: t9 W7 i  比如ftp、samba、ssh、httpd等等* v6 w8 a6 f3 s8 X
  并且,要做相关设置需要弄清楚运行级别的问题
7 O4 L) a& R1 y/ J$ ^  Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start# g, M% i  Q+ H
  实际上还可以这样,service 服务名 start
4 S$ S# P& F/ l- h   ! f4 x2 n' c2 H, _$ e( C: ~
回复

使用道具 举报

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

本版积分规则

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

浙公网安备 33032402001025号

GMT+8, 2026-6-21 11:43 , Processed in 0.059227 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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