Ubuntu 20 如何设置开机自启动shell脚本?

需求:我有一个Jenkins工程,是手敲命令启动的。但每次开机都要手动执行一次命令,很不方便,能否设置为开机自动启动?

系统是Ubuntu 20.04版本

 

解决方案:

1.进入/lib/systemd/system能看到有很多启动脚本,其中rc-local.service是专门给用户自定义的

cd /lib/systemd/system

2.增加权限,开始编辑

sudo chmod 777 rc-local.service
vim rc-local.service

原始内容为:

 

 

 3.增加内容为

[Install]
WantedBy=multi-user.target  
Alias=rc-local.service

 

 

 

4.保存并退出:wq

5 .查看系统中有无 /etc/rc.local 这个文件,没有则自己创建一个。

5.1我这里是没有的

 

 5.2我创建一个并编辑内容

sudo vim /etc/rc.local

5.3内容为

#!/bin/sh
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
exit 0

 

 

5.4增加可执行权限

sudo chmod +x /etc/rc.local

5.5查看文件权限

ll rc.local

6 增加软链接

sudo ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/ 

7 重启尝试一下

成功了!

 

 

扩展:

1.这时候我就可以写个sh脚本,放在rc.local里面让他自动执行。但是这个默认是root权限执行,我想用普通用户执行,找了些资料,尝试了2种,都不行。后续再研究如何解决吧。(或者以后Jenkins用配置的时候,用root权限启动。)

尝试过程如下,

 

 

注意:

如果在 /etc/rc.local 中添加的是 ./test.sh 这种类型的,要在末尾加上&,不然重启ubuntu的时候会卡在启动界面进不去系统。

 

参考资料:

https://blog.csdn.net/qq_43685040/article/details/111574332

https://www.cnblogs.com/wtil/p/12808424.html

posted @ 2022-10-21 11:05  o蹲蹲o  阅读(4886)  评论(0编辑  收藏  举报