当前位置: 首页 > news >正文

高性能服务器配置经验指南6——BIT校园网在ubuntu中的自动检查连接状况脚本使用

在服务器上使用BIT校园网时,一定会遇到以下情况:
1、一段时间不在服务器上登陆校园网,校园网的登陆就自动掉了;
2、每个月网络账户刷新的时候,校园网需要手动登陆。
总是要在又热又吵的机房里手动登录实在是难以忍受,所以需要一个自动登录的方法。

参考链接:BIT校园网自动登录脚本

依赖:BITSRUN脚本。该脚本可以实现在命令行模式下登录/登出校园网并查看校园网的状态
主要逻辑:每隔一段时间使用bitsrun status检测校园网状态,断连后使用 bitsrun login 重新登录。将该脚本挂在后台即可。

脚本使用方法:
首先从git上clone代码:

git clone https://gitee.com/mobius8086/bit-auto-login.git

进入脚本文件夹,打开bit_login.sh,可以更改以下五个部分:

USER_NAME="学号"
PASSWORD="校园网密码"
PERIOD=每隔多少秒检查一下登陆情况,写整数            
LOG_FILE_PATH="/home/auto611/bit-auto-login/bitsrun.log"  # 日志文件路径
alias python3="/home/anaconda3/bin/python3" # Python编译器的路径

使用代码参考以下命令:

# 进入之前git下来的文件夹路径,也就是bit_login.sh所在路径
# 运行脚本,这里/home/auto611/bit-auto-login/bitsrun.log是日志所在路径
nohup bash bit_login.sh > /home/auto611/bit-auto-login/bitsrun.log 2>&1 &# 关闭脚本
pkill -f bit_login.sh

运行一段时间后,看一下日志:
在这里插入图片描述
日志中Status is OK.表示脚本识别到已登录,User is not logged in. Logging in...表示脚本识别到未登录,所以启用登陆命令,实现自动登录。
但是该脚本有一个问题,虽然nohup命令可以实现后台运行,但是如果服务器重启,脚本就不运行了,还需要手动运行,这明显不能完全满足我们的需求,所以需要加一个开机自启动功能,创建systemd服务。
首先创建服务文件:

sudo nano /etc/systemd/system/bit-login.service

写入以下内容(注意更改为自己的路径):

[Unit]
Description=Auto login to campus network (keep running)
After=network-online.target
Wants=network-online.target[Service]
User=auto611
WorkingDirectory=/home/auto611/bit-auto-login/
Environment="PATH=/home/auto611/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/bin/bash bit_login.sh > /home/auto611/bit-auto-login/bitsrun.log 2>&1
Restart=always
RestartSec=5[Install]
WantedBy=multi-user.target

参数详解:

  • [Unit]:定义服务元信息和启动依赖
    • Description:服务描述文字,表明这是 “校园网自动登录(保持运行)” 服务
    • After=network-online.target:指定服务在网络完全就绪后启动(比 network.target 更严格,确保已获取 IP)
    • Wants=network-online.target:声明依赖网络在线目标,增强网络就绪等待机制
  • [Service]:定义服务运行规则
    • User=auto611:以 auto611 用户身份运行服务
    • WorkingDirectory:设置工作目录为脚本所在目录
    • Environment:添加环境变量,包含bitsrun所在的路径
    • ExecStart:启动命令,运行登录脚本并将输出写入日志
    • Restart=always:无论何种原因退出(正常或异常),都自动重启服务
    • RestartSec=5:失败后等待 5 秒再重启(给硬件一些反应时间)
  • [Install]:定义服务安装规则
    • WantedBy=multi-user.target:设置服务在多用户模式下启动,实现开机自启

之后,保存并启用服务:

# 保存退出nano(按Ctrl+O,回车,再Ctrl+X)
sudo systemctl daemon-reload  # 刷新服务配置
sudo systemctl enable bit-login.service  # 设置开机自启
sudo systemctl start bit-login.service  # 启动服务

验证服务是否生效:

# 查看服务状态
sudo systemctl status bit-login.service# 查看日志(确认是否正常运行)
cat /home/auto611/bit-auto-login/bitsrun.log

若出现以下提示说明服务已经正常启动:
在这里插入图片描述

http://www.dtcms.com/a/389860.html

相关文章:

  • SQL 连接详解:内连接、左连接与右连接
  • C2000基础-TIM介绍及使用
  • Day 06 动作类的初始化类------以B1为例
  • 面试题:对数据库如何进行优化?
  • samurai 点选分割 box分割
  • 计算机架构的总线协议中的等待状态是什么?
  • C++:入门基础(1)
  • ACD智能分配:服务延续和专属客服设置
  • 自监督学习分割
  • 抛弃自定义模态框:原生Dialog的实力
  • LangGraph 简单入门介绍
  • Docker 部署 DzzOffice:服务器 IP 转发功能是否需要开启
  • 无人机避障——卡内基梅隆大学(CMU)CERLAB 无人机自主框架复现
  • 正点原子zynq_FPGA-初识ZYNQ
  • Vue3中对比ref,reactive,shallowRef,shallowReactive
  • 通过Freemark渲染数据到Word里并生成压缩包
  • Vue 项目中使用 AbortController:解决请求取消、超时与内存泄漏问题
  • 设置管家婆服务器开机自动启动
  • ubuntu20 安装 ros2 foxy
  • 二分查找(二分查找算法)
  • 贪心算法应用:超图匹配问题详解
  • Hadoop3.3.5搭建指南(双NN版本)
  • 如何正确写Controller?参数校验、异常处理
  • 线性代数:LU与Cholesky分解
  • 饮用水在线监测设备:实时、精准地捕捉水体中的关键参数,为供水安全提供全方位保障
  • 【环境搭建】Conda安装教程
  • Java与机器学习的结合:库与应用!
  • DHCP基本原理及实验(ENSP配置)
  • 高系分十一:软件需求工程
  • MCP Server Chart AntV 项目解析