起因:需再在Ubuntu20.04上要设置一个shell脚本开机自启动的功能,根据网上提示用方法一
方法一:
1,在某个目录下创建脚本:例如:/root/hello/wei.sh
(注意:脚本中必须加入:
#!/bin/bash
#chkconfig:2345 10 90
#description:resind
(注意:脚本中必须加入:
#!/bin/bash
#chkconfig:2345 10 90
#description:resind
2,cp /root/hello/wei.sh /etc/init.d/wei.sh
(注意:也可以直接在 /etc/init.d下,直接创建wei.sh脚本)
3. 给脚本执行权限:chmod +x /etc/init.d/public_start_test.sh
4. 加入开机启动,进/etc/init.d/目录下:chkconfig --add public_start_test.sh
chkconfig wei.sh on
查看wei.sh开机自启动情况: chkconfig --list public_start_test.sh
(注意非加入自启动而是手动启动这样:/etc/init.d/wei.sh start)
发现,最后一步chkconfig --add public_start_test.sh命令的时候,报错:chkconfig: command not found
然后,搜了一下,根据网上提示安装了chkconfig的支持命令,然后再次尝试,又报错,提示add命令异常,或者还是command not found。
仔细询问分析之后,发现是版本问题,需要另外一种设置方法:以下提供Ubuntu20.04上要设置一个shell脚本开机自启动的功能的方法:
一:Ubuntu20.04配置开机自启动脚本,激活rc.local文件
Ubuntu20.04配置开机自启动脚本 精选 原创
alfiy2022-03-10 11:57:33博主文章分类:Linux操作与使用
文章标签开机自启动ubuntu文件复制文章分类Linux系统/运维阅读数5860
- rc-local服务简介
Linux中的rc-local服务是一个开机自动启动的,调用开发人员或系统管理员编写的可执行脚本或命令的,它的启动顺序是在系统所有服务加载完成之后执行。
ubuntu20.04系统已经默认安装了rc-local.service服务,但是不知什么原因系统把这个服务给“隐蔽”了,所以如果不做一番操作是无法使用的。
- 配置
将rc-local服务设置为开机自启动(本文操作都在root用户下,或使用sudo)。
首先将rc-local.service文件复制到system目录下
cp /usr/lib/systemd/system/rc-local.service /etc/systemd/system/
1.
新建rc.local文件
大家不用奇怪,ubuntu20.04中/etc/目录下是没有rc.local文件的,需要我们手动建立一个。
touch /etc/rc.local
chmod 755 /etc/rc.local
echo ‘’‘#!/bin/bash’‘’ >> /etc/rc.local
1.
2.
3.
设置开机启动rc-local
systemctl start rc-local
systemctl enable rc-local
init 6
1.
2.
3.
重启系统后,通过命令systemctl status rc-local查看服务已经正常开启了。
Ubuntu20.04配置开机自启动脚本_文件复制
3.在rc.local中添加你开机需要自动执行的脚本
至此,你就可以在rc.local文件中添加你想添加的开机自启动脚本了
二:在Ubuntu 中设置rc.local开机启动命令/脚本,添加启动文件
打开rc.local文件,加入启动文件,如:
#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JRE=/usr/lib/jvm/java-11-openjdk-amd64/jre
export CLASSPATH=
J
A
V
A
H
O
M
E
/
l
i
b
:
JAVA_HOME/lib:
JAVAHOME/lib:JRE/lib:.
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin/:$JRE/bin
nohup java -jar /opt/unetlab/java/apaas-eve-ng-1.0-SNAPSHOT.jar --spring.config.location=/opt/unetlab/java/application.yml >/opt/unetlab/java/learning_message.log 2>&1 &
exit 0
三:测试:
测试ok