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

Debian10: 安装nut服务器(UPS)

UPS说明:
UPS的作用就不必讲了,我选择是SANTAKTGBOX-850,规格为 850VA/510W,可以满足所需,关键是Debian10自带了驱动可以支持,免去安装驱动,将UPS通过USB线连接服务器即可,如下图所示:

注1:官方未说明支持Linux系统,实际是支持的。 
注2:其中只有一排插座提供UPS供电,另一排只起防雷保护作用,注意看说明书。

Linux nut说明:
nut(Network UPS tools),是一个Linux下的网络版的UPS工具,采用C/S架构,服务器端连接UPS设备,客户端通过网络连接服务器端接收UPS相关信息,更多了解可以浏览nut工具的官网:
https://networkupstools.org/

第1步:安装nut相关服务:

#安装nut驱动、服务器端、客户端和服务器端WEB服务
root@server:~# apt-get install nut nut-server nut-client nut-cgi
... ...#列出nut目录下的文件
root@server:~# ls /etc/nut
hosts.conf  nut.conf  ups.conf	upsd.conf  upsd.users  upsmon.conf  upssched.conf  upsset.conf	upsstats.html  upsstats-single.html

nut的配置文件比较多,可以做个分类,以便理解:
驱动相关配置文件(nut-driver):ups.conf
服务器端配置文件(nut-server):nut.conf, upsd.conf, upsd.users, upssched.conf
服务器端WEB支持(nut-cgi):hosts.conf, upsset.conf
客户端的配置文件(nut-client):upsmon.conf

第2步:驱动配置

#打开ups.conf配置文件,在文件尾添加内容
root@server:~# vi /etc/nut/ups.conf
root@server:~# cat /etc/nut/ups.conf
...
[tgbox850]driver=usbhid-upsport=autovendorid=0463desc='SANTAK TGBOX-850 UPS"pollinterval=1override.battery.charge.low=40
root@server:~# 

其中“override.battery.charge.low = 40” 表示ups电量降到40%的时候触发低电量报警,默认值为20。低电量报警是UPS重要的信息,多数情况下,作为服务器关机操作的触发条件。

第3步:服务器端配置

#修改运行模式
root@server:~# vi /etc/nut/nut.conf
root@server:~# cat /etc/nut/nut.conf
... ...
MODE=netserver#修改网络监听配置
root@server:~# vi /etc/nut/upsd.conf
root@server:~# cat /etc/nut/upsd.conf
... ...
LISTEN 0.0.0.0 3493#创建客户端连接时所需用户名和密码
root@server:~# vi /etc/nut/upds.users
root@server:~# cat /etc/nut/upds.users
... ...
[nutuser]password = nutpasswdupsmon master#配置WEB(CGI)服务(nutuser和nutpasswd为upds.users文件添加的用户和密码)
root@server:~# vi /etc/nut/hosts.conf
root@server:~# cat /etc/nut/hosts.conf
... ...
MONITOR tgbox850@localhost 1 nutuser nutpasswd master#确认CGI目录安全性
root@server:~# vi /etc/nut/upsset.conf
root@server:~# cat /etc/nut/upsset.conf
... ...
I_HAVE_SECURED_MY_CGI_DIRECTORY#重新拔插一下UPS的USB线,然后重启相关服务,执行后若未返回到命令提示状态,Ctrl + C即可。
root@server:~# service nut-driver restart
root@server:~# service nut-server restart
root@server:~# service nut-monitor restart#查看服务是否正常启动
root@server:~# lsof -i:3493
upsd    12413  nut    4u  IPv4 185568      0t0  TCP *:nut (LISTEN)
root@server:~#

第4步:配置WEB服务(CGI)

root@server:~# ls /usr/share/nut
cmdvartab  driver.list	www#修改apache2.conf文件,添加内容
root@server:~# vi /etc/apache2/apache2.conf
root@server:~# cat /etc/apache2/apache2.conf
... ...
Alias /nut /usr/share/nut/www
<Directory /usr/share/nut/www>Options +SymLinksIfOwnerMatchAllowOverride AllRequire all granted
</Directory>
... ...#确认apache2使能CGI支持
root@server:~# a2enmod cgi 
[Sat Aug 19 10:22:33.100704 2023] [so:warn] [pid 12757] AH01574: module dav_module is already loaded, skipping 
Module cgi already enabled#修改serve-cfg-bin.conf文件内容
root@server:~# vi /etc/apache2/conf-available/serve-cgi-bin.conf
root@server:~# cat vi /etc/apache2/conf-available/serve-cgi-bin.conf
... ...<IfDefine ENABLE_USR_LIB_CGI_BIN>ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/<Directory "/usr/lib/cgi-bin">AllowOverride NoneAddHandler cgi-script .cgiOptions +ExecCGI -MultiViews +SymLinksIfOwnerMatchRequire all granted</Directory></IfDefine>
... ...#重启apache2服务
root@server:~# service apache2 restart

第5步:浏览器查看UPS信息
在WINDOWS客户端,打开浏览器,输入网址:http://192.168.121.240/nut,界面如下:

需要注意:谷歌浏览器测试时可能出现直接下载CGI文件(不执行)的问题,若出现这个情况,换Edge浏览器测试。

阶段说明:
至此,只是完成了nut服务器端的配置,更多关键内容将在nut客户端的配置中说明。

参考文章:
Linux UPS配置详解 (山特SANTAK TGBOX-850 )_mayer的博客-CSDN博客
电源管理之捣腾家用 UPS - 知乎
PVE/Linux安装nut管理apc BK650M2-CH ups自动关机 - 海运的博客
SANTAKTGBOX-850在Linux下的UPS部署踩坑记 - 百度文库

相关文章:

Debian10: 安装nut服务器(UPS)

UPS说明&#xff1a; UPS的作用就不必讲了&#xff0c;我选择是SANTAKTGBOX-850&#xff0c;规格为 850VA/510W&#xff0c;可以满足所需&#xff0c;关键是Debian10自带了驱动可以支持&#xff0c;免去安装驱动&#xff0c;将UPS通过USB线连接服务器即可&#xff0c;如下图所示…...

神经网络基础-神经网络补充概念-47-动量梯度下降法

概念 动量梯度下降法&#xff08;Momentum Gradient Descent&#xff09;是一种优化算法&#xff0c;用于加速梯度下降的收敛速度&#xff0c;特别是在存在高曲率、平原或局部最小值的情况下。动量法引入了一个称为“动量”&#xff08;momentum&#xff09;的概念&#xff0c…...

C++11并发与多线程笔记(13) 补充知识、线程池浅谈、数量谈、总结

C11并发与多线程笔记&#xff08;13&#xff09; 补充知识、线程池浅谈、数量谈、总结 1、补充一些知识点1.1 虚假唤醒&#xff1a;1.2 atomic 2、浅谈线程池&#xff1a;3、线程创建数量谈&#xff1a; 1、补充一些知识点 1.1 虚假唤醒&#xff1a; notify_one或者notify_al…...

python高级基础

文章目录 python高级基础闭包修饰器单例模式跟工厂模式工厂模式单例模式 多线程多进程创建websocket服务端手写客户端 python高级基础 闭包 简单解释一下闭包就是可以在内部访问外部函数的变量&#xff0c;因为如果声明全局变量&#xff0c;那在后面就有可能会修改 在闭包中的…...

使用线性回归模型优化权重:探索数据拟合的基础

文章目录 前言一、示例代码二、示例代码解读1.线性回归模型2.MSE损失函数3.优化过程4.结果解读 总结 前言 在机器学习和数据科学中&#xff0c;线性回归是一种常见而重要的方法。本文将以一个简单的代码示例为基础&#xff0c;介绍线性回归的基本原理和应用。将使用Python和Nu…...

亿级短视频,如何架构?

说在前面 在尼恩的&#xff08;50&#xff09;读者社群中&#xff0c;经常指导大家面试架构&#xff0c;拿高端offer。 前几天&#xff0c;指导一个年薪100W小伙伴&#xff0c;拿到字节面试邀请。 遇到一个 非常、非常高频的一个面试题&#xff0c;但是很不好回答&#xff0…...

jenkins pipeline方式一键部署github项目

上篇&#xff1a;jenkins一键部署github项目 该篇使用jenkins pipeline-script一键部署&#xff0c;且介绍pipeline-scm jenkins环境配置 前言&#xff1a;按照上篇创建pipeline任务&#xff0c;结果报mvn&#xff0c;jdk环境不存在&#xff0c;就很疑惑&#xff0c;然后配置全…...

Vue 项目搭建

环境配置 1. 安装node.js 官网&#xff1a;nodejs&#xff08;推荐 v10 以上&#xff09; 官网&#xff1a;npm 是什么&#xff1f; 由于vue的安装与创建依赖node.js&#xff08;JavaScript的运行环境&#xff09;里的npm&#xff08;包管理和分发工具&#xff09;&#xff…...

【NetCore】09-中间件

文章目录 中间件&#xff1a;掌控请求处理过程的关键1. 中间件1.1 中间件工作原理1.2 中间件核心对象 2.异常处理中间件:区分真异常和逻辑异常2.1 处理异常的方式2.1.1 日常错误处理--定义错误页的方法2.1.2 使用代理方法处理异常2.1.3 异常过滤器 IExceptionFilter2.1.4 特性过…...

机器学习深度学习——BERT(来自transformer的双向编码器表示)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——transformer&#xff08;机器翻译的再实现&#xff09; &#x1f4da;订阅专栏&#xff1a;机器学习&am…...

Datawhale Django后端开发入门 Vscode TASK02 Admin管理员、外键的使用

一.Admin管理员的使用 1、启动django服务 使用创建管理员之前&#xff0c;一定要先启动django服务&#xff0c;虽然TASK01和TASK02是分开的&#xff0c;但是进行第二个流程的时候记得先启动django服务&#xff0c;注意此时是在你的项目文件夹下启动的&#xff0c;时刻注意要执…...

【ES5和ES6】数组遍历的各种方法集合

一、ES5的方法 1.for循环 let arr [1, 2, 3] for (let i 0; i < arr.length; i) {console.log(arr[i]) } // 1 // 2 // 32.forEach() 特点&#xff1a; 没有返回值&#xff0c;只是针对每个元素调用func三个参数&#xff1a;item, index, arr &#xff1b;当前项&#…...

学科在线教育元宇宙VR虚拟仿真平台落实更高质量的交互学习

为推动教育数字化&#xff0c;建设全民终身学习的学习型社会、学习型大国&#xff0c;元宇宙企业深圳华锐视点深度融合VR虚拟现实、数字孪生、云计算和三维建模等技术&#xff0c;搭建教育元宇宙平台&#xff0c;为学生提供更加沉浸式的学习体验&#xff0c;提高学习效果和兴趣…...

[python爬虫] 爬取图片无法打开或已损坏的简单探讨

本文主要针对python使用urlretrieve或urlopen下载百度、搜狗、googto&#xff08;谷歌镜像&#xff09;等图片时&#xff0c;出现"无法打开图片或已损坏"的问题&#xff0c;作者对它进行简单的探讨。同时&#xff0c;作者将进一步帮你巩固selenium自动化操作和urllib…...

vue项目预览pdf功能(解决动态文字无法显示的问题)

最近&#xff0c;因为公司项目需要预览pdf的功能&#xff0c;开始的时候找了市面上的一些pdf插件&#xff0c;都能用&#xff0c;但是&#xff0c;后面因为pdf变成了需要根据内容进行变化的&#xff0c;然后&#xff0c;就出现了需要动态生成的文字不显示了。换了好多好多的插件…...

vue3 样式穿透:deep不生效

初学vue3&#xff0c;今天需要修改el-input组件的属性&#xff08;去掉border和文字居右&#xff09; 网上搜了一下&#xff0c;大致都是采用:deep 样式穿透来修改el-input的属性 <div class"input-container"><el-input placeholder"请输入111&qu…...

云原生反模式

通过了解这些反模式并遵循云原生最佳实践&#xff0c;您可以设计、构建和运营更加强大、可扩展和成本效益高的云原生应用程序。 1.单体架构&#xff1a;在云上运行一个大而紧密耦合的应用程序&#xff0c;妨碍了可扩展性和敏捷性。2.忽略成本优化&#xff1a;云服务可能昂贵&am…...

【2023年11月第四版教材】《第5章-信息系统工程(合集篇)》

《第5章-信息系统工程&#xff08;合集篇&#xff09;》 章节说明1 软件工程1.1 架构设计1.2 需求分析1.3 软件设计1.4 软件实现&#xff3b;补充第三版教材内容&#xff3d; 1.5 部署交付 2 数据工程2.1 数据建模2.2 数据标准化2.3 数据运维2.4 数据开发利用2.5 数据库安全 3 …...

【qiankun】微前端在项目中的具体使用

1、安装qiankun npm install qiankun --save2、主应用中注册和配置qiankun 在主应用的入口文件main.ts中&#xff0c;引入qiankun的注册方法&#xff1a; import { registerMicroApps, start } from qiankun;创建一个数组&#xff0c;用于配置子应用的相关信息。每个子应用都…...

云安全与多云环境管理:讨论在云计算和多云环境下如何保护数据、应用程序和基础设施的安全

随着云计算和多云环境的广泛应用&#xff0c;企业正面临着数据、应用程序和基础设施安全的新挑战。在这个数字化时代&#xff0c;保护敏感信息和业务运作的连续性变得尤为重要。本文将深入探讨在云计算和多云环境下如何有效地保护数据、应用程序和基础设施的安全。 章节一&…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...