如何linux 配置服务启动Linux的服务设置为自动启动或崩溃重新启动后

声明:现大部分文章为寻找问题时在网上相互转载,在此博客中做个记录,方便自己也方便有类似问题的朋友,故原出处已不好查到,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明。谢谢。
业务思维、结果导向、成本意识
随笔- 458&
&&&&&&&&&&&
1. 开机启动配置文件
& & & &一般来说Linux会用不同的level开机,可以用
#runlevel&&
来查看运行的level。而关于level的配置,可以在 /etc/inittab中找到,如下:
#&Default&runlevel.&The&runlevels&used&by&RHS&are:&&
#&&&0&-&halt&(Do&NOT&set&initdefault&to&this)&&
#&&&1&-&Single&user&mode&&
#&&&2&-&Multiuser,&without&NFS&(The&same&as&3,&if&you&do&not&have&networking&&&&)&&
#&&&3&-&Full&multiuser&mode&&
#&&&4&-&unused&&
#&&&5&-&X11&&
#&&&6&-&reboot&(Do&NOT&set&initdefault&to&this)&&
id:5:initdefault:&&
# Default runlevel. The runlevels used by RHS are:
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking
3 - Full multiuser mode
4 - unused
6 - reboot (Do NOT set initdefault to this)
id:5:initdefault:
从注释的部分可以看到Linux系统启动分为0~6一共7个级别,而此处默认启动在第5个级别上,X11即为图形桌面方式启动
[root@emma_test_server&etc]#&cd&rc&&
rc&&&&&&&&&&rc1.d/&&&&&&rc3.d/&&&&&&rc5.d/&&&&&&rc.d/&&&&&&&rc.sysinit&&
rc0.d/&&&&&&rc2.d/&&&&&&rc4.d/&&&&&&rc6.d/&&&&&&rc.local&&
[root@emma_test_server etc]# cd rc
rc.sysinit
在系统/etc目录下,我们可以找到rc0.d ~ rc6.d 启动文件夹,其中保存的即为Linux在相应级别启动时所调用的启动文件,打开rc5.d我们可以看到:
[root@emma_test_server&rc5.d]#&ls&-l&&
total&296&&
lrwxrwxrwx&1&root&root&17&Aug&26&&2011&K01dnsmasq&-&&../init.d/dnsmasq&&
lrwxrwxrwx&1&root&root&24&Aug&26&&2011&K02avahi-dnsconfd&-&&../init.d/avahi-dnsconfd&&
lrwxrwxrwx&1&root&root&24&Aug&26&&2011&K02NetworkManager&-&&../init.d/NetworkManager&&
lrwxrwxrwx&1&root&root&16&Aug&26&&2011&K05conman&-&&../init.d/conman&&
lrwxrwxrwx&1&root&root&19&Aug&26&&2011&K05saslauthd&-&&../init.d/saslauthd&&
lrwxrwxrwx&1&root&root&17&Aug&26&&2011&K05wdaemon&-&&../init.d/wdaemon&&
lrwxrwxrwx&1&root&root&19&Aug&26&&2011&K10dc_server&-&&../init.d/dc_server&&
lrwxrwxrwx&1&root&root&16&Aug&26&&2011&K10psacct&-&&../init.d/psacct&&
lrwxrwxrwx&1&root&root&19&Aug&26&&2011&K12dc_client&-&&../init.d/dc_client&&
lrwxrwxrwx&1&root&root&15&Aug&26&&2011&K15httpd&-&&../init.d/httpd&&
lrwxrwxrwx&1&root&root&14&Aug&26&&2011&K24irda&-&&../init.d/irda&&
lrwxrwxrwx&1&root&root&15&Aug&26&&2011&K25squid&-&&../init.d/squid&&
lrwxrwxrwx&1&root&root&19&Aug&26&&2011&K35vncserver&-&&../init.d/vncserver&&
lrwxrwxrwx&1&root&root&17&Aug&26&&2011&K35winbind&-&&../init.d/winbind&&
lrwxrwxrwx&1&root&root&20&Aug&26&&2011&K50netconsole&-&&../init.d/netconsole&&
..........&&
[root@emma_test_server rc5.d]# ls -l
lrwxrwxrwx 1 root root 17 Aug 26
2011 K01dnsmasq -& ../init.d/dnsmasq
lrwxrwxrwx 1 root root 24 Aug 26
2011 K02avahi-dnsconfd -& ../init.d/avahi-dnsconfd
lrwxrwxrwx 1 root root 24 Aug 26
2011 K02NetworkManager -& ../init.d/NetworkManager
lrwxrwxrwx 1 root root 16 Aug 26
2011 K05conman -& ../init.d/conman
lrwxrwxrwx 1 root root 19 Aug 26
2011 K05saslauthd -& ../init.d/saslauthd
lrwxrwxrwx 1 root root 17 Aug 26
2011 K05wdaemon -& ../init.d/wdaemon
lrwxrwxrwx 1 root root 19 Aug 26
2011 K10dc_server -& ../init.d/dc_server
lrwxrwxrwx 1 root root 16 Aug 26
2011 K10psacct -& ../init.d/psacct
lrwxrwxrwx 1 root root 19 Aug 26
2011 K12dc_client -& ../init.d/dc_client
lrwxrwxrwx 1 root root 15 Aug 26
2011 K15httpd -& ../init.d/httpd
lrwxrwxrwx 1 root root 14 Aug 26
2011 K24irda -& ../init.d/irda
lrwxrwxrwx 1 root root 15 Aug 26
2011 K25squid -& ../init.d/squid
lrwxrwxrwx 1 root root 19 Aug 26
2011 K35vncserver -& ../init.d/vncserver
lrwxrwxrwx 1 root root 17 Aug 26
2011 K35winbind -& ../init.d/winbind
lrwxrwxrwx 1 root root 20 Aug 26
2011 K50netconsole -& ../init.d/netconsole
..........
其中包含了大量的链接文件,都是链接到/etc/init.d目录下的启动文件,这些文件负责启动相应的应用程序或者服务。
2. 用户登录启动:
(1)/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。(5)~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的;一、在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行;如:$ vim /etc/rc.local#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/local. /etc/rc.d/rc.tune/opt/pjt_test/test.pl保存并退出;再重启动测试下,则在其它的程序都启动完成后,将启动脚本;二、可设定启动优先级的高级开机自启动脚本1. 查看服务是否自启动查看服务的当前状态#service servicename status查看服务的开机自动启动状态#chkconfig --list servicename2. 写好脚本,如 mysql,把它放到 /etc/init.d 下,修改属性:$ sudo chmod x mysql3. 创建符号连接:$ cd /etc下面有这么几个目录值得注意:rcS.d rc0.d rc1.d ... rc6.d ,(0,1... 6 代表启动级别 0代表停止,1代表单用户模式,2-5代表多用户模式,6代表重启)它们的作用就相当于 redhat 下的 rc.d ,你可以把脚本放到 rcS.d,然后修改文件名,给它一个启动序号,如:S88mysql.不过最好的办法是放到相应的启动级别下面。具体作法:step1: 先把 mysql 放到 /etc/init.d目录下step2: 查看当前系统的启动级别$ sudo runlevel&N 3step3: 设定启动级别&$ update-rc.d mysql start 98 2 .&& &&98 为启动序号,& &&2是系统的运行级别,可自己调整,& & 注意不要忘了结尾的句点。现在我们到 /etc/rc2.d 下,就多了一个 S98mysql 这样的符号链接。4. 然后启动系统,测试一下设置是否有效。三、移除符号链接当你需要移除这个符号连接时,方法有三种:1. 直接到 /etc/rc2.d 下删掉相应的链接,当然不是最好的方法2. $ update-rc.d -f s10 remove //推荐做法3. 如果 update-rc.d 命令你不熟悉,还可以试试看 rcconf 这个命令,也很方便。四、引文来源:/hosewen/blog/item/e77e27dbf4da4d68d0164e8e.htmllinux 开机自动启动脚本方法1. redhat的启动方式和执行次序是:& 加载内核& 执行init程序& /etc/rc.d/rc.sysinit # 由init执行的第一个脚本& /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式& /etc/rc.d/rc.local & & #相应级别服务启动之后、在执行该文件(其实也可以把需要执行的命令写到该文件中)& /sbin/mingetty # 等待用户登录在Redhat中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括:& 调入keymap以及系统字体& 启动swapping& 设置主机名& 设置NIS域名& 检查(fsck)并mount文件系统& 打开quota& 装载声卡模块& 设置系统时钟& 等等。/etc/rc.d/rc则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。凡是以Kxx开头的,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx从小到大来执行。(其中xx是数字、表示的是启动顺序)例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用/etc/rc.d/rc3.d/下的脚本。值得一提的是,Redhat中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。至此,LINUX的启动结束。2. init运行级别及指令2.1 什么是INIT:init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行 /bin/sh,如果运行失败,系统的启动也会失败。2.2 运行级别那么,到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的功能。不同的运行级定义如下:# 0 - 停机(千万不能把initdefault 设置为0 )# 1 - 单用户模式 & & & # s & init s = init 1# 2 - 多用户,没有 NFS# 3 - 完全多用户模式(标准的运行级)# 4 - 没有用到# 5 - X11 多用户图形模式(xwindow)# 6 - 重新启动 (千万不要把initdefault 设置为6 )这 些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是放在/etc/rc.d 目录下的文件。在大多数的Linux 发行版本中,启动脚本都是位于 /etc/rc.d/init.d中的。这些脚本被用ln 命令连接到 /etc/rc.d/rcn.d 目录。(这里的n 就是运行级0-6)3. chkconfig 命令(redhat 操作系统下)不像DOS 或者 Windows,Linux 可以有多种运行级。常见的就是多用户的2,3,4,5 ,很多人知道 5 是运行 X-Windows 的级别,而 0 就 是关机了。运行级的改变可以通过 init 命令来切换。例如,假设你要维护系统进入单用户状态,那么,可以使用 init 1 来切换。在Linux 的运行级的切换过程中,系统会自动寻找对应运行级的目录/etc/rc[0-6].d下的K 和 S 开头的文件,按后面的数字顺序,执行这些脚本。对这些脚本的维护,是很繁琐的一件事情,Linux 提供了chkconfig 命令用来更新和查询不同运行级上的系统服务。语法为:chkconfig --list [name]chkconfig --add namechkconfig --del namechkconfig [--level levels] namechkconfig [--level levels] namechkconfig 有五项功能:& 添加服务,删除服务,列表服务,改变启动信息以及检查特定服务的启动状态。chkconfig 没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。& 如果是,返回 true,& 否则, & 返回 false。&--level 选项可以指定要查看的运行级而不一定是当前运行级。如果在服务名后面指定了on,off 或者 reset,那么 chkconfig 会改变指定服务的启动信息。on 和 off 分别指服务在改变运行级时的启动和停止。reset & & &指初始化服务信息,无论有问题的初始化脚本指定了什么。& & &对于 on 和 off 开关,系统默认只对运行级 3,4, 5有效,& & &但是 reset 可以对所有运行级有效。指定 --level 选项时,可以选择特定的运行级。需要说明的是,对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init 不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。选项介绍:--level levels& & &指定运行级,由数字 0 到 7 构成的字符串,如:& & &--level 35 表示指定运行级3 和5。& & &要在运行级别3、4、5中停运 nfs 服务,使用下面的命令:chkconfig --level 345 nfs off--add name& & &这个选项增加一项新的服务,chkconfig 确保每个运行级有一项 启动(S) 或者 杀死(K) 入口。& & &如有缺少,则会从缺省的init 脚本自动建立。--del name& & &用来删除服务,并把相关符号连接从 /etc/rc[0-6].d 删除。--list name& & &列表,如果指定了name 那么只是显示指定的服务名,否则,列出全部服务在不同运行级的状态。运行级文件每个被chkconfig 管理的服务需要在对应的init.d 下的脚本加上两行或者更多行的注释。第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用 跨行注释。例如,random.init 包含三行:& & &# chkconfig: & & &# description: Saves and restores system entropy pool for& & &# higher quality random number generation.& & &表明 random 脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为20,停止优先权为 80。& & &好了,介绍就到这里了,去看看自己目录下的/etc/rc.d/init.d 下的脚本吧。&& & &设置自启动服务:chkconfig --level 345 nfs on4. 实例介绍:在linux下安装了apache 服务(通过下载二进制文件编译安装、而非rpm包)、apache 服务启动命令: & & & & & &$ /server/apache/bin/apachectl start让apache服务运行在运行级别3下面。&命令如下:&$ touch /etc/rc.d/init.d/apache$ vim /etc/rc.d/init.d/apacheapache的内容:& & & #!/bin/bash& & & #Start httpd service& & & /server/apache/bin/apachectl start$ chown -R root /etc/rc.d/init.d/apache$ chmod 700 /etc/rc.d/init.d/apache$ ll /etc/rc.d/rc3.d/& 查看本级下所有服务的启动顺序;$ ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S60apache &&& S &是start的简写、代表启动;& K &是kill的简写、代表关闭;& 60 数字代表启动的顺序。60以后通常是比较保险的数字,因为别的服务都启动了;至此 apache服务就可以在运行级别3下 随机自动启动了。(可以结合chkconfig 对启动服务进行相应的调整)
阅读(...) 评论()
声明:现大部分文章为寻找问题时在网上相互转载,在此博客中做个记录,方便自己也方便有类似问题的朋友,故原出处已不好查到,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明。谢谢。在linux重新启动下如何设置oracle服务自动开启
今天在中行客户现场启动Oracle9i的一点心得:
AIX环境下重启时数据库如不进行配置是不会随着系统自动启动的,oracle9.2.0.1.0,用sqlplus&&
sysdba”&&
startup可开启实例服务,用lsnrctl&&
start开启侦听服务,手动启动oracle步骤如下:
以oracle用户权限登陆,执行一下命令:
1、sqlplus "/as sysdba"
startup...
ps -ef|grep pmon
ps -ef|grep oracle
‘dbstart’
‘lsnrctl&&&
总结:今天上午找了许多资料,结果这么简单,哈哈,还是需要学习哈~&&
----------------------------------------------------------------------------------------------------------------------
参考文章:
oracle9.2.0.1.0,用sqlplus&&
sysdba”&&
startup可开启实例服务,用lsnrctl&&
start开启侦听服务,但这些都是通过手工输入操作的,能不能有办法让这些服务就象在windows一样设置为自动,让他在重启之后就可自动运行
—————————————————————
这个问题近期有人问过好多遍了,下面是&&
liuyi8903(好好学习)&&
的关于此问题的一个回复:
下面是我在linux&&
as&& 3下做的:
1.&& 创建文件/etc/oratab
#添加如下内容到/etc/oratab文件中,
#$ORACLE_SID是你的Oracle数据库的sid
#$ORACLE_HOME是你的Oracle数据库的Oracle_home
#Y表示要求在系统启动的时候启动Oracle数据库.N表示不要在系统启动的时候启动Oracle
$ORACLE_SID:$ORACLE_HOME:Y
修改文件/etc/rc.local添加一下两行
-c&& ‘dbstart’
‘lsnrctl&& start’
—————————————————————
以下是10G在Linux下oracle自启动的官方表述,可以参考一下,9i应该也有这方面的表述,可以去找9i的文档看看:
root&& user.
your&& platform.
following&& commands:
On&& Solaris:
vi&& /var/opt/oracle/oratab
Tru64&& UNIX:
vi&& /etc/oratab
Database&&
displayed&&
following&& format:
SID:ORACLE_HOME:{Y&&
&brvbarN&& &brvbarW}
example,&&
database,&&
respectively.&&
database&&
automate&&
shutdown&&
startup,&&
determine&&
instance&&
identifier&&
database,&&
identified&&
auto-start&&
single-instance&&
database&&
Automatic&&
Management&&
installation&&
auto-started&&
Clusterware.&&
behavior&&
Automatic&&
Management&&
cluster.&&
database&&
Automatic&&
Management&&
installation&&
respectively.&&
auto-starts&&
database&&
Automatic&&
Management&&
instance&&
is&& started.
database&&
instances&&
automate&&
instances&&
oratab&& file.
3.Change&&
directory&&
following&&
depending&&
operating&& system:
Platform&&
Initialization&&
File&& Directory
AIX&& /etc
Solaris&& /etc/init.d
UNIX&& /sbin/init.d
4.Create&&
following&&
this&& file:
ORACLE_HOME&&
environment&&
variable&&
directory&&
installation.&&
environment&&
variable&&
database&&
installed&&
directory&&
(typically,&& oracle).
/bin/sh&&&&
ORACLE_HOME&&
Oracle&& home
directory&&
your&& installation.
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
your&& site.
ORACLE=oracle
PATH=${PATH}:$ORACLE_HOME/bin
HOST=`hostname`
PLATFORM=`uname`
ORACLE_HOME&& PATH
“ORA_DB”&&
“$PLATFORM”&&
“HP-UX”&&
$1&& ORA_DB”
$ORACLE&&&&
$1&& ORA_DB
’start’)
$ORACLE_HOME/bin/dbstart&&
$ORACLE_HOME&& &
$ORACLE_HOME/bin/dbshut&&
$ORACLE_HOME&& &
“usage:&&
{start&& &brvbarstop}”
listener&&
password&&
addition,&&
listener&&
LISTENER,&&
listener&&
start&& commands:
$ORACLE_HOME/bin/lsnrctl&&
&brvbarstop}&&
listener_name
5.Change&&
(typically&&
permissions&&
dba&& dbora
750&& dbora
6.Create&&
symbolic&&
appropriate&&
run-level&&
directories&&
as&& follows:
Platform&&
Symbolic&&
Links&& Commands
/etc/init.d/dbora&&
/etc/rc.d/rc3.d/K01dbora
/etc/init.d/dbora&&
/etc/rc.d/rc3.d/S99dbora
/etc/init.d/dbora&&
/etc/rc.d/rc5.d/K01dbora
/etc/init.d/dbora&&
/etc/rc.d/rc5.d/S99dbora
—————————————————————
Oracle在linux下的自动启动脚本
环境是redhat&&
9+oracle&& 9.2.0.4
1、在/etc/rc.d/init.d下创建脚本,名字就取为oracle,内容如下。假设oracle的安装用户是ora9。
“$1&P&& in
“Starting&&
Databases&&
“————————————————-”&&
&&&& /var/log/oracle
Starting&&
Databasee&&
&&&& /var/log/oracle
“————————————————-”&&
&&&& /var/log/oracle
“dbstart”&&
&&&& /var/log/oracle
echo&& “Done.”
“Starting&&
Listeners&&
“————————————————-”&&
&&&& /var/log/oracle
Starting&&
Listeners&&
&&&& /var/log/oracle
“————————————————-”&&
&&&& /var/log/oracle
“lsnrctl&&
&&&& /var/log/oracle
echo&& “Done.”
echo&& “”
“————————————————-”&&
&&&& /var/log/oracle
Finished.”&&
&&&& /var/log/oracle
“————————————————-”&&
&&&& /var/log/oracle
/var/lock/subsys/oracle
“Stoping&&
Listeners&&
“————————————————-”&&
&&&& /var/log/oracle
Listener&&
&&&& /var/log/oracle
“————————————————-”&&
&&&& /var/log/oracle
“lsnrctl&&
&&&& /var/log/oracle
echo&& “Done.”
/var/lock/subsys/oracle
“Stoping&&
Databases&&
“————————————————-”&&
&&&& /var/log/oracle
Databases&&
&&&& /var/log/oracle
“————————————————-”&&
&&&& /var/log/oracle
“dbshut”&&
&&/var/log/oracle
echo&& “Done.”
echo&& “”
“————————————————-”&&
&&&& /var/log/oracle
Finished.”&&
&&&& /var/log/oracle
“————————————————-”&&
&&&& /var/log/oracle
$0&& start
“Usage:&&
&brvbarstop&&
&brvbarrestart}”
2、修改/etc/rc.d/init.d/oracle的属性为755。
3、创建不同级别的link文件。
/etc/rc.d/init.d/oracle&&
/etc/rc.d/rc5.d/S99oracle
/etc/rc.d/init.d/oracle&&
/etc/rc.d/rc0.d/K01oracle
/etc/rc.d/init.d/oracle&&
/etc/rc.d/rc1.d/K01oracle
4、编辑/etc/oratab文件,设置需要自动启动的数据库实例。
5、在$ORACLE_HOME/dbs下,创建符号连接文件init$ORACLE_SID
cd&& $ORACLE_HOME/dbs
spfile$ORACLE_SID.ora&&
init$ORACLE_SID.ora(转载)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务
主要用三种方式进行这一操作:
ln -s&&&&& & & & & & & & && 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)
chkonfig&&&&&&&&&&&&&&& 命令行运行级别设置
ntsysv&&&&&&&&&&&&&&&&&& 伪图形运行级别设置
注意:1.这三种方式主要用于以redhat为基础的发行版
&&&&&&&&&& 2.如果还不知道运行级别是什么,那么最好先看看相关资料再实验
第一种方式:ln -s 建立启动软连接
在Linux中有7种运行级别(可在/etc/inittab文件设置),每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录
Tips:/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接,主要是为了保持和Unix的兼容性才做此策
这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
由详细信息可以知道,其实每个脚本文件都对应着/etc/init.d/目录下具体的服务
K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行
因此,当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可
[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动
如果需要在多个运行级别下设置自启动,则需建立多个软链接
这种方式比较繁琐,适用于自定义的服务脚本
如果系统中已经存在某些服务(比如安装apache时就会有httpd服务项),可以使用下面的两种方式
第二种方式:chkconfig
如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off
在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项
上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别
Tips:--list选项可查看指定服务的启动状态,chkconfig不带任何选项则查看所有服务状态
第三种方式:ntsysv 伪图形
ntsysv和chkconfig其实是一样的,只不过加上了图形而已
启动ntsysv有两种方式,一是直接在命令行中输入ntsysv,二是使用setup命令,然后选择系统服务
默认情况下,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
比如,我当前的运行级别是3,那么我在伪图形界面中选择启动服务后,它的运行级别也会是3
如果想自定义运行级别可使用ntsysv --level方式
以上三种操作需要保证服务脚本文件可执行,并且要有root权限
其中,第一种方式多用于自定义脚本,第二、三种多用于系统已存在的服务
比如ftp、samba、ssh、httpd等等
并且,要做相关设置需要弄清楚运行级别的问题
Tips:如果想手动启动某服务,传统的方式是 /etc/init.d 服务名 start
&&&&&&&& & 实际上还可以这样,service 服务名 start
阅读(...) 评论()

我要回帖

更多关于 服务器设置启动项 的文章

 

随机推荐