脚本开机启动,是linux运维工作中经常会用到的一个技能,今天介绍2种常见的办法:
系统平台:RHEL 6.4
主要目的是自己测试用的:
一、编辑/etc/rc.d/目录下的rc.local文件。
#vi /etc/rc.d/rc.local
1
2
3
4
5
6
#!/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
这是rc.local文件下本来就有的内容,可以看到脚本会在init所有的运行级别脚本进行完之后执行。
添加的方式:
step1:编辑脚本,添加执行权限(~/test.pl);
step2:在/etc/rc.local的末尾添加一行执行脚本的绝对路径;
#vi test.pl
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
#mkdir -p /run/run1
if [ -d '/run/run1' ]
then
echo "the dir exist"
else
mkdir -p /run/run1
cd /run/run1
touch a.txt
echo "file create success!"
fi
#chmod u+x test.pl
绝对路径/etc/rc.d/test.pl添加到/etc/rc.d/rc.local的末尾。
二、/etc/init.d目录下添加脚本。
step1:写好脚本,如test.pl,把它放在/etc/init.d 下,添加执行权限:
rc{0--6}.d每一个系统运行级别下,相关服务的启动状态(K(off关闭状态)/S:启动状态)
step2:/etc/rc.d/init.d/目录下添加服务脚本
比如说创建服务脚本/etc/rc.d/init.d/test.pl
#ln -s /etc/rc.d/init.d /etc/rc.d/rc5.d/S98test.pl //创建脚本链接目录,S代表启动,60代表启动顺序。
实例介绍:
1、在linux下安装了apache 服务(httpd-2.2.23.tar.gz自定义安装)、apache 服务启动命令: /usr/local/apache2/bin/apachectl start。让apache服务运行在运行级别3下面。 命令如下:
1)touch /etc/rc.d/init.d/apache
#vi /etc/rc.d/init.d/apache
#chown -R root /etc/rc.d/init.d/apache
#chmod 700 /etc/rc.d/init.d/apache
#ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S60apache
apache的内容:
#vi /etc/rc.d/init.d/apache
1
2
3
#!/bin/bash
#Start httpd service
/usr/local/apache2/bin/apachectl start
(apache的安装路径)
至此 apache服务就可以在运行级别3下 随机自动启动了。(可以结合chkconfig 对启动服务进行相应的调整)
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com