在Ubuntu中使自定义脚本开机自启动

问题分析

学校机房的服务器由之前的静态ip突然变成了动态ip(原因未研究),如果机器重启,ip地址就会发生变化,想要远程连接就要去机房在机器上查看ip,十分麻烦。

解决方案

原本的方法是在开机启动之后自启动脚本,将自身的ip写入文件发送给其他机器。首先使用的scp命令将使用ip a show | grep "inet 210.31.56. >> ip.txt"命令获取的ip.txt文件发送给其他机器。然而问题是将该脚本加入开机自启动时,ssh似乎无法连接,故而放弃该方案(原因未研究)。

之后,在看到学校校园网个人后台管理界面之后,想到了一个般自动的主意。在服务器开机后,直接自动连接校园网,从校园网后台手动获得其ip地址。

首先是连接校园网的脚本:

#! /bin/bash

curl '校园网登录网址' -d "DDDDD=***&upass=***&0MKKey="

脚本我是放在/home/poalris/中的

随后是让脚本开机自启动,Ubuntu22.04 使用的是systemd来控制开启启动项目。

所以要先进入/etc/systemd/system目录,创建一个以.service结尾的文件thouch link.service,赋予权限sudo chmod 777 link.service,编辑文件:

[Unit]
Description=Link To The Network
After=network.target

[Service]
ExecStart=/bin/bash /home/usr/link.sh

[Install]
WantedBy=multi-user.target

编写完毕后,使用systemctl start link.sh启动服务,和systemctl status link.sh查看运行状态。

如果一切运行正常,就使用systemctl enable link.sh设置开机启动。

注意

对于改操作还没有进行测试,毕竟学校的机房不太方便去。
(修改)因为学校机房机器重启,被迫做了一次测试┗|`O′|┛,但测试结果时好的,成功自动连上校园网,从管理界面找到了ip,并成功远程连接。

posted @ 2022-05-03 14:42  polaris_cn  阅读(693)  评论(0)    收藏  举报