• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 小学学习 > 正文

    如何有效防止服务器因消耗完UPS电量后非正常关机 42u服务器机柜尺寸

    时间:2019-01-07 03:33:47 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: 市电停电后,当服务器消耗完UPS电量时,就会非正常关机,可能导致丢失数据或者产生故障。本文介绍了由服务器自动判断停电和自动关机的方法。   关键词: 服务器 UPS 停电 自动关机
      
      虽然接UPS电源能防止服务器突然因停电而带来数据丢失或者导致服务器故障,但是小型UPS电源不能像银行系统一样持续给服务器供电,一般只能持续几十分钟或者1个多小时(取决于电池容量)。当UPS电量用完而市电还没有来时,服务器依然会非正常关机,可能导致数据丢失或者服务器故障。我院实验室中有若干台服务器,配有一台UPS电源,停电时能支撑服务器正常工作约1小时。为了防止停电时,服务器因UPS电量消耗完而非正常关机,现介绍Windows 2003服务器和Linux服务器的解决方法。
      一、程序设计大致思路
      服务器用ping命令去ping本栋教学楼的网关(202.201.165.254),若ping通,服务器不关机;若ping不通时,接着转向ping一台本实验室的一台一直开的计算机(工作需要,但是此计算机没有接到UPS电源,地址是局域网172.16.1.8),若ping通,服务器不关机;若仍然ping不通则表示停电,服务器定时关机,但依然接着ping本栋教学楼的网关和计算机,若ping通了任意一个,则服务器取消关机,否则接着ping,直到服务器自动关机。
      二、具体方案
      1. Windows2003服务器
      在服务器桌面建立一个文本文件,取名为“tingdian.bat”,内容如下:
      @echo off
      :myping
      @ping 202.201.165.254 |find "timed out">nul 2>nul && @echo楼网关不通ping计算机A && goto:myping1
      @echo网络正常ping网关
      goto myping
      :myping1
      @ping 172.16.1.8 |find "timed out">nul 2>nul && @echo计算机A也不通开始关机&& goto:guanji
      @echo网络正常ping计算机A
      goto myping1
      :guanji
      shutdown -s -t 300
      :myping888
      @ping 202.201.165.254 |find"timed out">nul 2>nul && @echo楼网关还是不通ping计算机A && goto:myping111
      @echo又来电了网络正常ping网关取消关机
      shutdown -a
      goto myping
      :myping111
      @ping 172.16.1.8 |find "timed out">nul 2>nul && @echo都不通再ping一次&& goto:myping888
      @echo又来电了网络正常ping计算机A取消关机
      shutdown -a
      goto myping1
      然后双击运行此脚本即可。
      2. linux服务器
      用root用户在服务器中先建立一个文件“tingdian.sh”,内容如下:
      #!/bin/sh
      while true
      do
      ping -W 5 -c 1 202.201.165.254 >/dev/null
      ret=$?
      if[$ret -eq 0]
      then sleep 600
      else
      ping -W 5 -c 1 172.16.1.8>/dev/null
      ret=$?
      if[$ret -eq 0]
      then sleep 600
      else
      shutdown -h 5
      fi
      fi
      done
      再建立一个文件“quxiao.sh”,内容如下:
      #!/bin/sh
      while true
      do
      ping -W 5 -c 1 202.201.165.254 >/dev/null
      ret=$?
      if[$ret -eq 0]
      then shutdown -c
      else
      ping -W 5 -c 1 172.16.1.8 >/dev/null
      ret=$?
      if[$ret -eq 0]
      then shutdown -c
      else
      sleep 300
      fi
      fi
      done
      然后把该文件添加执行权限,执行chmod u+x tingdian.sh quxiao.sh,然后开两个终端,一个终端中执行tingdian.sh脚本,另一个终端中执行quxiao.sh脚本即可。由于linux服务器关机命令shutdown必须由root用户执行,因此此脚本tingdian.sh用root执行。
      三、结语
      尽管市场有带自动关机功能的UPS或者相关硬件,但本文介绍的方案完全由脚本执行,避免了因缺乏硬件和资金等问题而带来的困扰,是一种不错的保护服务器的方法。虽然一个学期也不见得停一两次电,但是一旦因停电非正常关机而导致不良后果可就晚了,所以还是多一些防范措施为好。
      
      参考文献:
      [1]郭阳.Windows XP的自动关机.电脑知识与技术,2005-29.

    推荐访问:电量 关机 非正常 消耗

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章