群晖NAS遇到断电如何自动关机

news2024/11/25 23:27:58

群晖NAS遇到断电时如何自动关机

  • 前置条件
  • 实现功能的想法
  • 具体实施的步骤
    • 开启群晖Linux的SSH登陆
    • 安装Putty或是Xshell远程登陆上群晖
    • 创建计划任务

前置条件

需要一台UPS(品牌功能不限,只需续航5分钟以上就可以)

实现功能的想法

通过监控网卡的状态来达到目的。 网卡连接的网关并没有UPS保护,因为断电时,网卡会出现离线的状态,当监控到网卡的离线状态时,发出关机命令既可实现安全保护目的。

具体实施的步骤

开启群晖Linux的SSH登陆

登陆群晖管理后台
在这里插入图片描述
在这里插入图片描述

安装Putty或是Xshell远程登陆上群晖

我这里用的是sa账户登陆的,把脚本文件也放到了sa根目录下。
检测群晖NAS的网卡状态,我的NAS有四个千兆口,查询

root@DataStore:~# ls /sys/class/net/
docker0  docker7cb2ffc  dockerf1962b8  dockerf6d9158  eth0  eth1  eth2  eth3  lo  sit0
root@DataStore:~# 

这里有eth0~eth3四个网卡
查询网卡的状态

root@DataStore:~# cat /sys/class/net/eth0/operstate
down
root@DataStore:~# cat /sys/class/net/eth1/operstate
up
root@DataStore:~# 

up在线,down离线,这样就很容易判断了
创建脚本命令:

vim upscheck.sh
  1 #!/bin/bash                                                                                                                                 
  2 
  3 #statusFile=~sa/.electricity.status;
  4 
  5 # 判断文件是否存在。如果不存在就创建默认文件
  6 #if [ ! -f "$statusFile" ]; then
  7 #   echo "file is not exists! I will create!";
  8 #   $(echo "off-line" > $statusFile);
  9 #fi
 10 
 11 # 读取上一次检测的结果
 12 #status=$(cat $statusFile);
 13 logFile=~sa/poweroff.log;
 14 
 15 eth0=$(cat /sys/class/net/eth0/operstate);
 16 eth1=$(cat /sys/class/net/eth1/operstate);
 17 eth2=$(cat /sys/class/net/eth2/operstate);
 18 eth3=$(cat /sys/class/net/eth3/operstate);
 19 
 20 # 判断4张网卡是不是都是离线的状态,如果离线了,说明交换机没电了,就要关机了
 21 if [[ "$eth0" == 'up' || "$eth1" == 'up' || "$eth2" == 'up' || "$eth3" == 'up' ]]; then
 22     # 网卡有在线,交换机有电,则记录在线状态到文件
 23     #$(echo "on-line" > $statusFile);
 24     echo "Power supply is normal, system is normal.";
 25 else
 26     #$(echo "off-line" > $statusFile);
 27 
 28     # 所有的网卡都离线了,马上关机
 29     log="Network offline power supply abnormal, system shutdown now!";
 30     echo "[`date`]$log" >> $logFile;
 31     $(shutdown -h now);
 32 fi

创建计划任务

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Python+Django+mysql+html图书管理系统

基于PythonDjangomysqlhtml图书管理系统 一、系统介绍二、功能展示1.用户登陆2.用户注册3.密码修改4.图书查询5.图书添加6.图书修改7.图书删除 三、其它系统四、获取源码 一、系统介绍 该系统实现了 用户登陆、用户注册、密码修改、图书查询、图书添加,图书修改、图…

一场场网络时代的“墨攻”

编辑:阿冒 设计:沐由 公输般为楚造云梯之械成,将以攻宋。子墨子闻之,起于鲁,行十日十夜,而至于郢,见公输般。 子墨子解带为城,以牒为械,公输般九设攻城之机变&#xff0c…

Apifox 自动生成接口

不太好用,很卡 1 下载Apifox https://apifox.com/?utm_sourcebaidu_pinzhuan&utm_mediumsem&utm_campaignpinzhuan&utm_contentpinzhuan&utm_termapifox 2 配置插件 3 IDEA安装插件 安装Apifox Helper 4 配置Apifox Helper ① Apifox 服务器地…

面试了数十家公司总结的Linux运维试题精华

下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家跳槽找个高薪好工作。 1、什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常…

项目中遇到的问题总结(六)

什么是分布式任务调度 分布式任务调度是指将一个大型任务拆分成多个较小的子任务,并在多台计算机上并行执行这些子任务的过程。在这个过程中,需要一个分布式任务调度系统来协调和管理每个子任务的调度和执行。分布式任务调度系统通常具有以下特点&#…

Linux教程——什么是Vim,Vim及其安装

我们知道,Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。 作为一名 Linux 初学者,你必须熟练掌握 Linux 中至少一款文本编辑器的用法。对文本编辑器的功能(如查找、剪…

图书馆大数据分析系统,图书馆大数据管理平台

图书馆是每个学校的标配,随着科技的发展,智慧图书馆也越来越开始普及,大数据分析也进而走到图书馆的建设中,为图书馆建设发挥着重要的作用。 图书馆大数据分析系统能够帮助图书馆进行数据分析,可以更好的优化资源配置…

跟着 Nature 学作图 | 相关性热图(显示相关性散点图)

corr 本期图片 ❝ Jiang, Y., Sun, A., Zhao, Y. et al. Proteomics identifies new therapeutic targets of early-stage hepatocellular carcinoma. Nature 「567」, 257–261 (2019). https://doi.org/10.1038/s41586-019-0987-8 ❞ 复现结果 image-20230615220659639 示例数…

紧随时代脚步,一览直播数据

第一为什么直播间要去做复盘?主要是为了找对做直播内容的方向,少走弯路,通过复盘来找出问题,进一步分析问题、解决问题,同时及时调整运营策略。 第二从哪里查看数据?可以通过什么样的平台去查看直播间的数据…

让天下没有难Tuning的大模型-PEFT(参数效率微调)技术简介

​ https://www.yuque.com/meta95/hmc3l4/ozgy13dx4akv7v17?singleDoc# 《让天下没有难Tuning的大模型-PEFT技术简介》 最近,深度学习的研究中出现了许多大型预训练模型,例如GPT-3、BERT等,这些模型可以在多种自然语言处理任务中取得优异的…

C++类和对象(多态)

4.7多态 4.7.1多态的基本概念 多态是C面向对象三大特性之一 多态分为两类 静态多态:函数重载和运算符重载属于静态多态,复用函数名。动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑…

SpringBoot 如何使用 Tomcat 容器

SpringBoot 如何使用 Tomcat 容器 SpringBoot 是一种基于 Spring 框架的快速开发框架,它提供了许多功能和组件,其中包括了内置的 Tomcat 容器。在本文中,我们将介绍如何使用 SpringBoot 内置的 Tomcat 容器来运行 Web 应用程序。 SpringBoot…

ubuntu 18.04系统python3.6 升级到 python3.9

1.安装依赖库 sudo apt-get install build-essential libbz2-dev libssl-dev libreadline-dev libsqlite3-dev 2.下载 Python 3.9 源代码 wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz # 解压 tar -xf Python-3.9.5.tar.xz 3.编译Python 3.9 cd Pytho…

Grounded-Segment-Anything本地部署

Grounded-Segment-Anything本地部署 1.本地部署源码1.1 克隆源码1.2 下载初始参数 2. 创建虚拟环境及配置3. 测试相关文件3.1 运行grounding_dino_demo.py文件3.2 运行grounded_sam_demo.py文件3.3 运行grounded_sam_simple_demo.py文件3.4 grounded_sam_inpainting_demo.py文件…

Spring Boot 如何使用 Jetty 容器

Spring Boot 如何使用 Jetty 容器 Jetty 是一款轻量级的 Java Web 容器,适用于各种规模的 Web 应用程序。在 Spring Boot 中,我们可以使用 Jetty 作为 Web 容器来处理 HTTP 请求和响应。本文将介绍 Spring Boot 如何使用 Jetty 容器,包括如何…

SpringBoot 如何使用 AOP 容器

SpringBoot 如何使用 AOP 容器 SpringBoot 是基于 Spring Framework 的一种快速开发框架,它提供了丰富的功能和组件,其中之一就是 AOP(面向切面编程)。AOP 是一种编程范式,可以将横向关注点(如日志记录、事…

紫东太初:造一个国产大模型,需用多少篇高质量论文?

原创:谭婧 “视觉自监督算法这轮,你是不是没跟上?” 我面前这位年薪近七十万,互联网大厂AI算法工程师的好友, 他用一个反问句回答了我的关心: “自监督这个玩意咋跟上?” 他抬了抬头&#xff0c…

shell 拼接字符串,出现后面的字符串覆盖前面的字符串问题

字符串拼接语法 shell 拼接字符串语法很简单两个参数并排前后写上接口,如下 str1www str2bbb s t r 1 str1 str1str2 的结果未 wwwbbb 有时会出现如下问题: 在拼接字符串的时候,后面的字符串将前面的字符串覆盖了。 一、问题描述 shell的…

Unity3D:Game 视图

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 Game 视图 从应用程序中的摄像机渲染 Game 视图。 该视图代表最终发布的应用程序。 需要使用一个或多个摄像机来控制玩家在使用应用程序时看到的内容。 有关摄像机的更多信息&#…

Github调研:开发者对生产力、协作和AI编码工具的看法

Datawhale干货 翻译:段秋阳 Datawhale成员 调研背景 GitHub首席产品官Inbal Shani如是说: 今天的开发人员所做的不仅仅是编写和发布代码,他们还需要熟练应用各种工具、环境和技术,包括生成人工智能编码工具这个新领域。但对开发人…