Centos7开机启动自定义脚本
linux开机自启动的方式跟window相似,也是把启动程序放在一个公共位置,随着开机自启动。在CentOS 之前版本 ,把启动脚本放在/etc/rc.d/rc.local目录即可。但CentOS 7,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行自己的脚本是不能起动一些服务的。查看下该文件的权限,就会知道,该文件没有执行权限。[root@localhost ~]...
linux开机自启动的方式跟window相似,也是把启动程序放在一个公共位置,随着开机自启动。
在CentOS 之前版本 ,把启动脚本放在/etc/rc.d/rc.local目录即可。但CentOS 7,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行自己的脚本是不能起动一些服务的。
查看下该文件的权限,就会知道,该文件没有执行权限。
[root@localhost ~]# cd /etc/rc.d/
[root@localhost rc.d]# ll
总用量 4
drwxr-xr-x. 2 root root 70 2月 27 23:30 init.d
drwxr-xr-x. 2 root root 45 2月 27 23:30 rc0.d
drwxr-xr-x. 2 root root 45 2月 27 23:30 rc1.d
drwxr-xr-x. 2 root root 45 2月 27 23:30 rc2.d
drwxr-xr-x. 2 root root 45 2月 27 23:30 rc3.d
drwxr-xr-x. 2 root root 45 2月 27 23:30 rc4.d
drwxr-xr-x. 2 root root 45 2月 27 23:30 rc5.d
drwxr-xr-x. 2 root root 45 2月 27 23:30 rc6.d
-rw-r--r--. 1 root root 473 8月 5 2017 rc.local
1
2
3
4
5
6
7
8
9
10
11
12
13
而且查看rc.local文件,里面的注释也挺人性化,告诉你要一定要执行chmod +x /etc/rc.d/rc.local
[root@localhost rc.d]# cat rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
[root@localhost rc.d]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
实验
比如说:开机自动启动nginx服务(最近刚在虚拟机安装了一个nginx,拿来小试牛刀下)
先检查我当前nginx是未启动的
[root@localhost ~]# ps -ef|grep nginx
root 1238 1126 0 09:44 pts/0 00:00:00 grep --color=auto nginx
[root@localhost ~]#
1
2
3
4
一、新建执行脚本hbk.sh
脚本的位置在/root/hbk目录下
[root@localhost hbk]# pwd
/root/hbk
[root@localhost hbk]# ll
总用量 35820
-rw-r--r--. 1 root root 40 4月 13 09:47 hbk.sh
drwxr-xr-x. 3 root root 53 4月 12 17:33 nginx
drwxr-xr-x. 11 root root 151 4月 13 08:51 nginx2
drwxr-xr-x. 10 502 games 4096 11月 2 02:52 zookeeper-3.4.11
-rw-r--r--. 1 root root 36668066 11月 9 02:24 zookeeper-3.4.11.tar.gz
[root@localhost hbk]# cat hbk.sh
#!/bin/bash
/root/hbk/nginx2/sbin/nginx
[root@localhost hbk]#
1
2
3
4
5
6
7
8
9
10
11
12
13
可以从上面看到hbk.sh没有执行权限。
二、使自启动程序拥有执行权限
[root@localhost hbk]# chmod +x hbk.sh
[root@localhost hbk]# ll
总用量 35820
-rwxr-xr-x. 1 root root 40 4月 13 09:47 hbk.sh
drwxr-xr-x. 3 root root 53 4月 12 17:33 nginx
drwxr-xr-x. 11 root root 151 4月 13 08:51 nginx2
drwxr-xr-x. 10 502 games 4096 11月 2 02:52 zookeeper-3.4.11
-rw-r--r--. 1 root root 36668066 11月 9 02:24 zookeeper-3.4.11.tar.gz
[root@localhost hbk]#
1
2
3
4
5
6
7
8
9
三、在/etc/rc.d/rc.local中加入执行脚本命令,并设置执行权限。
在/etc/rc.d/rc.local文件末尾追加/root/hbk/hbk.sh
[root@localhost hbk]# vi /etc/rc.d/rc.local
[root@localhost hbk]# chmod +x /etc/rc.d/rc.local
[root@localhost hbk]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 492 4月 13 09:55 /etc/rc.d/rc.local
[root@localhost hbk]#
1
2
3
4
5
简单的三步操作之后,重启下linux系统,验证下nginx服务已经开机启动了。
---------------------
作者:黄宝康
来源:CSDN
原文:https://blog.csdn.net/huangbaokang/article/details/79924058
版权声明:本文为博主原创文章,转载请附上博文链接!
更多推荐
所有评论(0)