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-ups
        port=auto
        vendorid=0463
        desc='SANTAK TGBOX-850 UPS"
        pollinterval=1
        override.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 = nutpasswd
    upsmon 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 +SymLinksIfOwnerMatch
        AllowOverride All
        Require 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 None
            AddHandler cgi-script .cgi
			Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
			Require 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部署踩坑记 - 百度文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/81190.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大模型基础02:GPT家族与提示学习

大模型基础&#xff1a;GPT 家族与提示学习 从 GPT-1 到 GPT-3.5 GPT(Generative Pre-trained Transformer)是 Google 于2018年提出的一种基于 Transformer 的预训练语言模型。它标志着自然语言处理领域从 RNN 时代进入 Transformer 时代。GPT 的发展历史和技术特点如下: GP…

Java 日期格式(yyyy-MM-dd HH:mm:ss SSS)

常用格式为&#xff1a;yyyy-MM-dd HH:mm:ss 以 2019-12-31 06:07:59:666 时间为例&#xff1a; 字符 含义 Example y&#xff08;小写的y&#xff09; 年 yyyy---->2019 M&#xff08;大写的M&#xff09; 月 MM---->12 d&#xff08;小写的d&#xff09; 一…

论文笔记 Graph Attention Networks

2018 ICLR 1 intro 1.1. GCN的不足 无法完成inductive任务 inductive任务是指&#xff1a; 训练阶段与测试阶段需要处理的graph不同。通常是训练阶段只是在子图上进行&#xff0c;测试阶段需要处理未知的顶点。GGN 的参数依赖于邻接矩阵A/拉普拉斯矩阵L&#xff0c;所以换了…

DTC 19服务学习1

在UDS&#xff08;统一诊断服务&#xff09;协议中&#xff0c;0x19是用于DTC&#xff08;诊断故障代码&#xff09;信息的服务。以下是你提到的子服务的功能和作用&#xff1a; 0x01 - 报告DTC按状态掩码。这个子服务用于获取当前存储在ECU中的DTC列表。状态掩码用于过滤DTC&a…

【Mariadb高可用MHA】

目录 一、概述 1.概念 2.组成 3.特点 4.工作原理 二、案例介绍 1.192.168.42.3 2.192.168.42.4 3.192.168.42.5 4.192.168.42.6 三、实际构建MHA 1.ssh免密登录 1.1 所有节点配置hosts 1.2 192.168.42.3 1.3 192.168.42.4 1.4 192.168.42.5 1.5 192.168.42.6 …

听GPT 讲Prometheus源代码--rules

Prometheus的rules目录主要包含规则引擎和管理规则的文件: engine.go 该文件定义了规则引擎的接口和主要结构,包括Rule,Record,RuleGroup等。它提供了规则的加载、匹配、评估和结果记录的功能。 api.go 定义了用于管理和查询规则的RESTful API,包括获取、添加、删除规则等方法。…

中大型无人机远程VHF语音电台系统方案

方案背景 中大型无人机在执行飞行任务时&#xff0c;特别是在管制空域飞行时地面航管人员需要通过语音与无人机通信。按《无人驾驶航空器飞行管理暂行条例》规定&#xff0c;中大型无人机应当进行适航管理。物流无人机和载人eVTOL都将进行适航管理&#xff0c;所以无人机也要有…

计算机组成与设计 Patterson Hennessy 笔记(二)MIPS 指令集

计算机的语言&#xff1a;汇编指令集 也就是指令集。本书主要介绍 MIPS 指令集。 汇编指令 算数运算&#xff1a; add a,b,c # abc sub a,b,c # ab-cMIPS 汇编的注释是 # 号。 由于MIPS中寄存器大小32位&#xff0c;是基本访问单位&#xff0c;因此也被称为一个字 word。M…

AI搜索引擎助力科学家创新

开发者希望通过帮助科学家从大量文献中发现联系从而解放科学家&#xff0c;让他们专注于发现和创新。 图片来源&#xff1a;The Project Twins 对于专注于历史的研究者Mushtaq Bilal来说&#xff0c;他在未来科技中投入了大量时间。 Bilal在丹麦南部大学&#xff08; Universit…

SpringBoot + Vue 前后端分离项目 微人事(九)

职位管理后端接口设计 在controller包里面新建system包&#xff0c;再在system包里面新建basic包&#xff0c;再在basic包里面创建PositionController类&#xff0c;在定义PositionController类的接口的时候&#xff0c;一定要与数据库的menu中的url地址到一致&#xff0c;不然…

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

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

部署工业物联网可以选择哪些通信方案?

部署工业物联网有诸多意义&#xff0c;诸如提升生产效率&#xff0c;降低管理成本&#xff0c;保障生产品质稳定&#xff0c;应对长期从业劳动力变化趋势等。针对不同行业、场景&#xff0c;工业物联网需要选择不同的通信方案&#xff0c;以达到成本和效益的最佳平衡。本篇就简…

《HeadFirst设计模式(第二版)》第十章代码——状态模式

如下图所示&#xff0c;这是一个糖果机的状态机图&#xff0c;要求使用代码实现&#xff1a; 初始版本&#xff1a; package Chapter10_StatePattern.Origin;/*** Author 竹心* Date 2023/8/19**/public class GumballMachine {final static int SOLD_OUT 0;final static int…

Python学习笔记_进阶篇(二)_django知识(一)

本章简介&#xff1a; Django 简介Django 基本配置Django urlDjango viewDjango 模板语言Django Form Django 简介 Django是一个开放源代码的Web应用框架&#xff0c;由Python写成。采用了MVC的软件设计模式&#xff0c;即模型M&#xff0c;视图V和控制器C。它最初是被开发来…

攻防世界-PHP2

原题 解题思路 这题需要查看页面的phps文件&#xff08;这玩意从没见过&#xff09;。phps的文件是存放php的源代码的&#xff0c;但是不是所有网站都有。 只要让传入的idadmin就可以得到key了。 但是直接传入admin不行。用burp编码。 结果还是不行&#xff1a; 那就再…

【C++】做一个飞机空战小游戏(十)——子弹击落炮弹、炮弹与飞机相撞

[导读]本系列博文内容链接如下&#xff1a; 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动【C】做一个飞机空战小游戏(三)——getch()函数控制任意造型飞机图标移动 【C】做一个飞…

Linux笔试题(4)

67、在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是__C_ A.主机ip设置有误 B.没有设置连接局域网的网关 C.局域网的网关或主机的网关设置有误 D.局域网DNS服务器设置有误 解析&#xff1a;在局域网络内的某台主…

视频怎么转gif高清动图?分享一款视频转gif工具

许多小伙伴都不知道如何将拍摄的短视频转gif图片&#xff0c;本文将分享一款专业的视频转gif工具&#xff0c;打来浏览器即可将视频在线转gif&#xff08;https://www.gif.cn&#xff09;&#xff0c;操作简单&#xff0c;使用方便&#xff0c;下面是详细的步骤。 打开网站&am…

linux系统服务学习(六)FTP服务学习

文章目录 FTP、NFS、SAMBA系统服务一、FTP服务概述1、FTP服务介绍2、FTP服务的客户端工具3、FTP的两种运行模式&#xff08;了解&#xff09;☆ 主动模式☆ 被动模式 4、搭建FTP服务&#xff08;重要&#xff09;5、FTP的配置文件详解&#xff08;重要&#xff09; 二、FTP任务…

实验一 VMware 17 虚拟机下安装Ubuntu16.04

系列文章目录 文章目录 系列文章目录前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 古人云&#xff1a;“工欲善其事&#xff0c;必先利其器。” 我们在学习分布式数据库原理知识同时少不了实操&#xff0c;在做实验之前&#xff0c;把相关实验…