在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,并成功远程连接。

浙公网安备 33010602011771号