共计 1685 个字符,预计需要花费 5 分钟才能阅读完成。
Linux 下 /etc/init.d 和 /etc/rc.d/rc.local 的区别说明:
/etc/init.d 是个目录,这个目录里面用于放置 shell 脚本,注意是脚本,这些脚本是启动脚本,用于 Linux 中服务的启动、停止、重启,比如各种 Linux 中的服务都会有启动脚本放在这里,像是 ssh 服务的文件 sshd 就在这里面。而 /etc/rc.d/rc.local 是一个文件,这个文件用于用户自定义开机启动程序,也就是说用户可以把需要开机启动的程序、命令写入这个文件,这样就可以在系统启动时自动执行这个命令,比如把一个 shell 脚本的完整路径写入这个文件,那这个 shell 脚本就会在开机后自动执行。
开机自启动 Tomcat:
每次开机都要启动 tomcat,用 shell 脚本来实现 tomcat 开机自启动或者直接修改系统文件来实现。
一、改脚本文件 rc.local:vim /etc/rc.d/rc.local
这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令
1、如下内容:
export Java_HOME=/opt/jdk1.8.0_65
/opt/tomcat 包名 /bin/startup.sh start
2、esc 退出编辑,:wq 保存修改
3、将 rc.local 修改为可执行
chmod +x /etc/rc.d/rc.local
二、在 /etc/init.d 目录下创建启动 shell 脚本文件
1、/etc/init.d 里增加一个开机 运行脚本 tomcatstart
vi /etc/init.d/tomcatstart
#!/bin/bash
#chkconfig: 2345 08 92
#description: Start
echo “Starting Tomcat Service …”
/opt/tomcat8/bin/startup.sh
2、给些启动脚本加上执行
chmod +x /etc/init.d/tomcatstart
3、利用 chkconfig 命令将脚本设置为自启动
chkconfig –add tomcatstart
三、shell 脚本说明
#!/bin/bash
#chkconfig: 2345 08 92
#description: Start
第一行,告诉系统使用的 shell, 所有的 shell 脚本都是这样。
第二行,chkconfig 后面有三个参数 2345,08 和 92 告诉 chkconfig 程序,需要在 /etc/rc.d/rc2.d~rc5.d 目录下,创建名字为 S08tomcatstart 的文件连接,连接到 /etc/rc.d/init.d 目录下的的 tomcatstart 脚本。第一个字符是 S,系统在启动的时候,运行脚本 tomcatstart,就会添加一个 start 参数,告诉脚本,现在是启动模式。
同时在 /etc/rc.d/rc0.d 和 /etc/rc.d/rc6.d 目录下,创建名字为 K92tomcatstart 的 文件连接,第一个字符为 K,在关闭系统的时候,会运行 tomcatstart,添加一个 stop 参数,告诉脚本,现在是关闭模式。
注意上面的三行中:第二、第三行是必须的,否则在运行 chkconfig –add tomcatstart 时,会报错。
四、rhel7 开机启动自己的 shell 脚本
1、执行如下命令将 /etc/rc.d/rc.local 文标记为可执行文件
在 rhel7 中,/etc/rc.d/rc.local 文件的权限被降低了, 开机的时候执行在自己的脚本是不能起动一些服务的, 执行下面的命令可以文件标记为可执行的文件
chmod +x /etc/rc.d/rc.local
2、打开 /etc/rc.d/rc.local 文件, 在最后面添加如下脚本
vi /etc/rc.d/rc.local
/etc/init.d/tomcatstart
这样 tomcatstart 这个脚本在开机的时候就会被执行了, 以后再这里面写启动服务的命令就可以了
rhel7 开机自启动脚本可查看另外一篇:https://www.linuxidc.com/Linux/2019-07/159389.htm
: