电脑互动吧

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

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

[复制链接]
发表于 2014-12-17 09:54:56 | 显示全部楼层 |阅读模式
  本篇文章小编为大家介绍,在linux 自启动服务的三种设置方式,需要的朋友可以参考一下; v+ \( [/ e, ?
  有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务6 ~* `  q/ K5 f# G3 g
  主要用三种方式进行这一操作:
) y* ~' ]  z5 D% ~' K  ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)* T7 W9 ?9 v6 W0 l
  chkonfig 命令行运行级别设置6 t4 x0 O, W- D, ]
  ntsysv 伪图形运行级别设置
  Z7 H* t7 Y: h- ?6 `$ n  注意:8 d& z2 h  ]' d3 L
  1.这三种方式主要用于以redhat为基础的发行版
1 L4 T( j' b9 s6 R6 h, ?  2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验0 K, l& S7 j" p( T! x* `# v) ~
  第一种方式:ln -s 建立启动软连接, J) Y/ [1 n6 s# S+ {
  在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录  N$ G$ d# n) o0 Z
   ' o5 i+ ?5 C) v  b8 K
  Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策
5 d7 F, e) D4 m2 H, {  这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
/ P7 U/ H+ s" ?- h: k  由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务" }$ I# N/ v; o" X4 P1 l" ?
  K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行: ?' Y) G6 K: c, C
   , D0 v/ c2 P- d' Z+ {
  因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可
: j% B% e. I! s( @4 V0 ]  [root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
* _# i6 h( S. R5 i' D0 e& b3 j  此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动
/ @& c  Y) J$ I$ r" M( V' E  如果需要在多个运行级别下设置自启动,则需建立多个软链接
% z3 ]  M* I: \! M7 L1 o  这种方式比较繁琐,适用于自定义的服务脚本5 Z2 q& B; N, i1 z
  如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式2 s6 X* @" ?4 L6 }% L7 w% Q
  第二种方式:chkconfig) e8 x, G6 |  @* E7 u
  
1 @4 _+ R+ E& Y0 `  如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off
. E( T* j: |- N' u3 J  在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项- A+ U9 l: F* L* r+ O
  
1 }. W8 T7 l" c5 L( W& V  上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
$ i' z9 T9 ?6 ^' E8 B, K; a  T: F  Tips:--list选项可查看雨林木风系统指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态5 v8 T; Q7 U, u7 x! r
  第三种方式:ntsysv 伪图形
* B6 @0 A& A6 ~% [  ntsysv和chkconfig其实是一样的,只不过加上了图形而已
! P* B  q$ G: Y/ e# J0 a( \* T  启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
1 M5 _8 y6 f) w8 }# i  
: z3 H* y) u, S* {: ~9 H  默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
8 z9 V0 R5 I% M- M' R( P4 N# f  比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3! f7 j1 a/ J9 }8 s, ?& F
  如果想自定义运行级别可使用ntsysv --level方式
, D" ?; y0 a# S, U  
$ E" p% o( i4 T: g# n, O3 d  以上三种操作需要保证服务脚本文件可执行,并且要有root权限
  O7 M9 H; z. g/ L5 k" W) J  其中,第一种方式多用于番茄花园自定义脚本,第二、三种多用于系统已存在的服务
! j: O$ g' k7 \0 x3 }* G; U) U) ^. Y  比如ftp、samba、ssh、httpd等等9 [+ j6 C- W* ?& ]4 Z, C- s
  并且,要做相关设置需要弄清楚运行级别的问题: n" b1 c" e% d
  Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start/ a) n/ u* h' f& z+ B$ \
  实际上还可以这样,service 服务名 start
1 A0 }" _- g5 K! h. B  
' w, n: `2 y$ t4 E
回复

使用道具 举报

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

本版积分规则

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

浙公网安备 33032402001025号

GMT+8, 2026-6-6 12:04 , Processed in 0.060994 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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