实现非管理型UPS在linux主机上的停电自动关机
时间:2019-09-22
本文章向大家介绍实现非管理型UPS在linux主机上的停电自动关机,主要包括实现非管理型UPS在linux主机上的停电自动关机使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
买了个山特的SANTAK TG-BOX 850 UPS,自带USB通讯线缆。本以为官方软件提供Linux下的CLI命令以监控UPS状态.
官网提供的下载链接巨慢无比不说,CLI下只提供了安装脚本,没有状态监控程序。我TM……
算了,当个非管理型的UPS用吧。搜索了下网上提供的脚本,感觉写的都不太合适。自己重新修改了一下。
#!/bin/sh while true do ping -c 1 192.168.50.2 > /dev/null ret=$? if [ $ret -ne 0 ] then echo -e "AC POWER LOSS! UPS WORKING NOW!\n-------------------------------\nSave your jobs and a further check will be execute in 3 mins,if it still loss,system will be shutdown immediately!" | wall sleep 180 ping -c 1 192.168.50.2 > /dev/null ret=$? if [ $ret -ne 0 ] then echo -e "AC POWER STILL LOSS! SYSTEM WILL SHUTDOWN NOW" | wall poweroff fi fi done
然后把ups.sh的功能注册成服务,方便操作:
新建/usr/lib/systemd/system/ups.service
[Unit] Description=UPS monitor and shutdown automaticlly After=network.target [Service] Type=simple User=root ExecStart=nohup /root/ups.sh & ExecStop=/bin/kill $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
启动服务:
systemctl start ups.service
让服务开机自动运行
systemctl enable ups.service
done.
原文地址:https://www.cnblogs.com/mrcoolfuyu/p/11568370.html
- 关于oracle中的半连接(r3笔记55天)
- 关于正则表达式第三篇(r3笔记第52天)
- 关于正则表达式第四篇(r3笔记第53天)
- 外部表简单总结(r3笔记第51天)
- 通过shell脚本监控sql执行频率(r3笔记第50天)
- 和Null有关的函数(r3笔记第48天)
- 关于查询转换的一些简单分析(二) (r3笔记第68天)
- 跨网络拷贝文件的简单实践(r3笔记第67天)
- 关于enq: TX - allocate ITL entry的问题分析(r3笔记第66天)
- Tensorflow学习:使用Tensorflow搭建深层网络分类器
- 关于interval partitioning(r3笔记65天)
- Spark Tips4: Kafka的Consumer Group及其在Spark Streaming中的“异动”(更新)
- 关于数据库中的一些name(r3笔记第64天)
- 码农的瑞士军刀-脚本语言
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 为你的机器学习模型创建API服务
- Vim实用技巧——使用.swp文件恢复已删除文件
- Dart 中 final 和 const 区别
- IDEA中Lombok插件的安装与使用
- 11 | Tornado源码分析:Gen 对象(下)
- 为啥不能用uuid做MySQL的主键 ?
- 51单片机在Ubuntu下程序开发和下载
- 答应我,用了这个jupyter插件,别再重复造轮子了
- 解析 hashMap 源码之位运算
- SAP Spartacus的ComponentFactory和ComponentFactoryResolver
- 宜信OCR技术探索之版面分析业务实践|技术沙龙直播速记
- Nginx的rewrite(地址重定向)剖析
- Prometheus监控神器-Kubernetes篇(二)
- C/C++实现你的浪漫表白:浪漫流星雨表白程序
- 烂了大街的 Spring 循环依赖问题,你觉得自己会了吗