0


Ubuntu开机自启动脚本+设置(手把手教程,包教包会)

一、写一个脚本

Documents

文件夹(随意放在你习惯的位置)中建立一个init.sh脚本,写上开机后需要执行的动作

touch init.sh #建立文件,双击打开

init.sh内容为(这是我开机后需要执行的动作,比如进到我的gopath文件夹中执行main文件,学习go语言的懂得都懂。如果是python文件,可以写成python test.py ,反正当作终端去写)

#!/bin/bash
​
echo '[RG200U helper] Ready' #echo相当于注释 这行不重要
sleep 120
echo '[RG200U helper] Sending info to server..'
cd /home/catlab/GOPATH/src/init-ip/client/ && ./main #这行重要
​
sleep 20
echo '[RG200U helper] mpquic test...'
cd /home/catlab/GOPATH/src/mp-quic-conext17/example/client/ && ./main -m -file dummy128.txt https://10.92.8.154:6121/demo/upload
​
​
sleep 20
echo '[RG200U helper] mptcp test...'
cd /home/catlab/GOPATH/src/mp-quic-conext17/example/mptcp/client/ && ./main /home/catlab/GOPATH/src/mp-quic-conext17/example/mptcp/client/dummy128.txt
​
exit 0

注意:绝对路径的写法,不能写~。如果需要执行的文件在home文件夹里,路径可以写成 /home/name/需要执行文件(夹),不知道这个name的,可以右击home文件夹选择属性(如图所示我电脑的name为catlab)

我要运行的是go文件,这里是go的一个小tip:如果写

go run xx.go

报错,就在xx.go文件所在目录下

go build xx.go

生成xx文件,直接

./xx

运行。记得每次修改完xx.go文件后要再次

go build xx.go

(这个小tip不重要)

二、设置自启动

你所有要执行的动作写在init.sh文件中了,可以先自行

bash init.sh

,运行一下你的init.sh文件检查一下错误,相当于模拟开机后的自启动。

然后就是设置,如何在开机后自动执行这个init.sh文件了。

1、首先我的ubuntu版本是18.04 。

在/etc文件夹中建立rc.local的脚本文件,作为自启动脚本文件。(我想开机后直接执行我刚刚写的init.sh 文件)(当然你也可以将init.sh文件中的内容复制进来,写init.sh是为了方便自行运行检查,省的一遍遍重启)

sudo gedit /etc/rc.local #建立文件并打开

rc.local内容为

#!/bin/sh -e
 
cd /home/catlab/Documents/
bash init.sh
 
exit 0

给rc.local可执行权限

sudo chmod 777 rc.local

2、建立软连接(不懂,跟着做就行)

sudo gedit /etc/systemd/system/rc-local.service #建立文件并打开
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
 
[Install]
WantedBy=multi-user.target
elias=rc-local.service
sudo chmod 777 /etc/systemd/system/rc-local.service #加权限

给另一个文件添加相同install字段(内容一样的)

sudo gedit /lib/systemd/system/rc-local.service
[Install]
WantedBy=multi-user.target
elias=rc-local.service
sudo chmod 777 /lib/systemd/system/rc-local.service #加权限

将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来

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

启动systemctl服务

systemctl start rc-local
systemctl enable rc-local

这就好了。

最后重启等着自启动就好了。

最后:

如果要修改自启动内容一共有两个地方:

第一个是你自己写的init.sh文件;

第二个是rc.local文件。(刚刚说了这两个文件是一个性质,可以不写init.sh,直接写在rc.local文件中就好,只是方便检查)(gedit /etc/rc.local)(这里放一个打开rc.local命令,防止忘记)

所以如果自启动有问题就检查这两个文件有没有写错(我是绝对路径出错)

检查rc.local文件可以用下面这个命令查看上一次自启动出现的问题(相当于一个log)(直接终端执行就好)

sudo systemctl status rc-local

保姆级教程了,希望大家科研路上少走弯路(🙇‍♀️

标签: ubuntu linux

本文转载自: https://blog.csdn.net/you_you_lu/article/details/133827949
版权归原作者 you_you_lu 所有, 如有侵权,请联系我们删除。

“Ubuntu开机自启动脚本+设置(手把手教程,包教包会)”的评论:

还没有评论