allurelovell 发表于 2021-5-6 00:09:40

感谢分享。。。。。。。。。。。。。。。。。。。。

gebokongqi123 发表于 2021-5-6 00:39:03

前来学习,为了俺的硬盘

fuyucc 发表于 2021-5-12 23:09:59

谢谢大神看看

xiaodaolf 发表于 2021-5-13 11:42:33

学习了,谢谢!

w120084179 发表于 2021-6-9 18:52:20

学习下如何自动关机

hehe9011 发表于 2021-6-14 19:41:43

感谢分享!

kkggss 发表于 2021-6-14 19:57:06

看看是什么办法看看是什么办法

bingdimi 发表于 2021-6-14 21:05:58

感谢分享

thang009 发表于 2021-6-14 23:37:05

感谢分享

lt123457 发表于 2021-6-15 15:44:55

看看是怎么操作的

lazylady77 发表于 2021-6-27 11:49:36

求指教,回复可见。

copyleft 发表于 2021-7-1 21:35:23

对版本有要求吗

fineconey 发表于 2021-7-5 19:44:36

打开群晖SSH功能这里就不讲了,可以百度一下,资料很多。

yccsbbq 发表于 2021-7-21 08:44:33

我的好像也是这样

旧时光影视 发表于 2021-7-28 21:40:21

学习学习

旧时光影视 发表于 2021-7-28 22:24:10

. /usr/syno/bin/synoupscommon

if [ "x$1" = "x" -o "x$1" = "x-h" ]; then
    echo "Copyright (c) 2008-2020 Synology Inc. All rights reserved."
    echo "Usage: `basename $0` { online | lowbatt | nocomm | fsd }"
    exit
fi

UPSMode=`/bin/get_key_value $SYNOUPS_CONF ups_mode`
SYNOBOOTBIN="/usr/syno/bin/synobootseq"
case "${UPSMode}" in
| )
    UPSMaster=1
    EnabledKey="ups_enabled"
    UPSMonServer="localhost"
    ;;
*)
    UPSMaster=0
    EnabledKey="upsslave_enabled"
    UPSMonServer=`/bin/get_key_value $SYNOUPS_CONF upsslave_server`
"synoups-back" 273L, 5696C               



我的群晖打开这个文件是这样的没有你说的那些字符串嘛,求楼主解答

旧时光影视 发表于 2021-7-28 23:21:25

本帖最后由 旧时光影视 于 2021-7-28 23:45 编辑

我仔细的看了一下群晖6.2.3系统的synoups文件和7.0系统的文件    里面的语法也有所改变   所以不敢轻举妄动   7.0系统确实已经完全取消了“关机后同时关闭ups电源”这个选项,所以当断电后群晖只会进入到安全模式   不会关机,ups也不会关机    只有一直等ups电耗完为止 ,7.0系统有点鸡肋了   想尝试你这个方法让群晖主动关机不料synoups文件语法不懂,以下是7.0系统打开synoups的语法红色部分与你的不同不敢修改:

# Copyright (c) 2008-2010 Synology Inc. All rights reserved.

. /usr/syno/bin/synoupscommon

if [ "x$1" = "x" -o "x$1" = "x-h" ]; then
      echo "Copyright (c) 2008-2020 Synology Inc. All rights reserved."
      echo "Usage: `basename $0` { online | lowbatt | nocomm | fsd }"
      exit
fi

UPSMode=`/bin/get_key_value $SYNOUPS_CONF ups_mode`
SYNOBOOTBIN="/usr/syno/bin/synobootseq"
case "${UPSMode}" in
| )
      UPSMaster=1
      EnabledKey="ups_enabled"
      UPSMonServer="localhost"
      ;;
*)
      UPSMaster=0
      EnabledKey="upsslave_enabled"
      UPSMonServer=`/bin/get_key_value $SYNOUPS_CONF upsslave_server`
      if [ "x$UPSMonServer" = "x" ]; then
                UPSMonServer="localhost"
      elif [ 0 -lt `echo ${UPSMonServer}|grep -c ':'` ]; then
                UPSMonServer="[${UPSMonServer}]"
      fi
      ;;
esac

UPSEnabled=`/bin/get_key_value $SYNOUPS_CONF ${EnabledKey}`
case "$UPSEnabled" in
)
      ;;
*)
      echo "UPS is not enable."
      exit
      ;;
esac

UPSSafeShutdown=`/bin/get_key_value $SYNOUPS_CONF ups_safeshutdown`
case "${UPSSafeShutdown}" in
)
      UPSSafeShutdown=0;;
)
      UPSSafeShutdown=1;;
*)
      UPSSafeShutdown=0;;
esac

SZF_SAFEMODE="/tmp/ups.safedown"
SZF_ONBATT="/tmp/ups.onbatt"

SynoUpsStateLog() {
      local ups_log_item="device.mfr device.model battery.charge battery.runtime battery.voltage input.voltage output.voltage ups.load ups.status"
      if [ $# -ge 1 ]; then
                logger -p user.err -t synoups $1
      fi
      logger -p user.err -t synoups "=====log UPS status start====="
      for item in $ups_log_item; do
                local upsc_result=`${BIN_UPSC} ups@${UPSMonServer} ${item}`
                logger -p user.err -t synoups "${item}=${upsc_result}"
      done
      logger -p user.err -t synoups "=====log UPS status end====="
}

SYSLOG() {
      logger -p user.err -t upsmsg "$1"
}

UPSStatusGet() {
      ups_stat=`${BIN_UPSC} ups@${UPSMonServer} ups.status 2>/dev/null`
      if [ $? -ne 0 ]; then
                echo "ERR"
                return 255
      fi
      for status in $ups_stat ; do
                case "$status" in
                "OL"|"OB"|"LB")
                        echo "$status"
                        return
                        ;;
                esac
      done
      echo "ERR"
}

UPSShutdown() {
      if [ $UPSMaster -ne 1 ]; then
                echo "Slave waits for safe shutdown" >> $SZF_SAFEMODE
                touch /var/.NormalShutdown
                SYSLOG "UPS waits for safe shutdown."
                return
      fi
      OL=0
      LB=0
      while [ $OL -ne 2 -a $LB -ne 2 ]; do
                sleep 10
                St=`UPSStatusGet`
                if [ "$St" = "OL" ]; then
                        OL=`expr $OL + 1`
                        LB=0
                else
                        LB=`expr $LB + 1`
                        OL=0
                fi
                echo "OL=$OL LB=$LB" >> $SZF_SAFEMODE
      done
      if [ $OL -eq 2 ]; then
                synologset1 sys warn 0x11300012
                echo "UPS back to On-Line and reboot." >> $SZF_SAFEMODE
                /sbin/reboot
      elif [ $LB -eq 2 ]; then
                touch /var/.NormalShutdown
                if [ $UPSSafeShutdown -eq 0 ]; then
                        echo "Waiting UPS exhausted." >> $SZF_SAFEMODE
                        SYSLOG "Waiting UPS exhausted."
                else
                        echo "UPS safe shutdown." >> $SZF_SAFEMODE
                        SYSLOG "UPS safe shutdown."

                        shutdown_retry=0
                        while [ $shutdown_retry -ne 3 ]; do
                              StopUps
                              /usr/bin/upsdrvctl shutdown
                              if [ $? -eq 0 ]; then
                                        return 0
                              fi
                              shutdown_retry=`expr $shutdown_retry + 1`
                              echo "UPS shutdown retry ... $shutdown_retry" >> $SZF_SAFEMODE
                              echo "UPS shutdown retry ... $shutdown_retry" > /dev/kmsg
                              # omron driver will reset usb (~30s) when command timeout
                              sleep 40
                        done
                        echo "UPS shutdown fail." >> $SZF_SAFEMODE
                        echo "UPS shutdown fail" > /dev/kmsg
                fi
      fi
}

UPSSafeMode() {
      if [ -f $SZF_SAFEMODE ]; then
                return
      fi

      $SYNOBOOTBIN --is-shutdown
      if [ $? -eq 0 ]; then
                SYSLOG " System is shutting down. Ignore onbattery event."
                return
      fi

      SYSLOG " Check Boot Status."
      $SYNOBOOTBIN --is-ready
      while [ $? -ne 0 ]
      do
                sleep 2
                $SYNOBOOTBIN --is-ready
      done

      St=`UPSStatusGet`
      if [ "$St" = "OL" ]; then
                SYSLOG "WARNING: UPS is On-Line"
                return
       fi
      echo "$1" > $SZF_SAFEMODE


      /usr/syno/bin/synologset1 sys warn 0x11300011
      SYSLOG " Server is going to Safe Mode. It will stop all services and umount all volumes."(此处与楼主的不同,不敢修改)


      /usr/syno/sbin/synopoweroff -s &
}

UPSRestart() {
      if [ -f $SZF_ONBATT ]; then
                rm $SZF_ONBATT
                if [ ! -f $SZF_SAFEMODE ]; then
                        /usr/syno/bin/synologset1 sys info 0x11300012
                        /usr/syno/bin/synonotify UPSOnAC
                        SYSLOG "UPS back online, not in safe mode"
                fi
      fi
      if [ ! -f $SZF_SAFEMODE ]; then
                return
      fi
      echo "UPS back on-line, in safe mode, so wait to reboot" >> $SZF_SAFEMODE
      sleep 30
      St=`UPSStatusGet`
      timeout=$((3*60))

      if [ "$St" = "OL" ]; then
                SYSLOG " Check Safe Mode Done."
                while [ "active" != "`synosystemctl get-active-status safe-shutdown.target`" ] && [ $timeout -gt 0 ]
                do
                        sleep 2
                        timeout=`expr $timeout - 2`
                done

                synologset1 sys warn 0x11300012
                SYSLOG "UPS back to On-Line and reboot."
                /sbin/reboot
      fi
}

ONBatt() {
      if [ ! -f $SZF_ONBATT ]; then
                touch $SZF_ONBATT
                SYSLOG "UPS on battery."
      fi
}

UPSLowBattCheck() {
      local Status=`UPSStatusGet`
      if [ "$Status" = "OL" ]; then
                return
      fi
      /usr/syno/bin/synonotify UPSPowerFail
      SYSLOG "UPS battery low"
}

UPSWaitTimeUp() {
      SYSLOG "UPS wait time up"
}

FLOCK_FILE="/tmp/synoups.lock"
{
flock -x 99

case "$1" in
online)
      SynoUpsStateLog "synoups online"
      UPSRestart
      ;;
onbatt)
      SynoUpsStateLog "synoups onbatt"
      ONBatt
      ;;
lowbatt)
      SynoUpsStateLog "synoups lowbatt"
      UPSLowBattCheck
      UPSSafeMode $1
      ;;
nocomm)
      SynoUpsStateLog "synoups nocomm"
      UPSSafeMode $1
      ;;
fsd)
      SynoUpsStateLog "synoups fsd"
      /usr/sbin/upsmon -c fsd
      UPSSafeMode $1
      ;;
shutdownups)
      SynoUpsStateLog "synoups shutdownups"
      UPSShutdown
      ;;
status)
      SynoUpsStateLog "synoups status"
      UPSStatusGet
      ;;
waittimeup)
      SynoUpsStateLog "synoups waittimeup"
      UPSWaitTimeUp
      /usr/sbin/upsmon -c fsd
      UPSSafeMode $1
      ;;
statelog)
      SynoUpsStateLog "synoups statelog"
      ;;
esac

flock -u 99
} 99>$FLOCK_FILE








ziwind 发表于 2021-7-29 01:43:44

APC Back-UPS650+群晖,市电断电进入安全模式不关机问题解决

gdi2857 发表于 2021-7-29 14:27:56

可以百度一下,资料很多。

旧时光影视 发表于 2021-7-29 21:31:21

gdi2857 发表于 2021-7-29 14:27
可以百度一下,资料很多。

关键是群晖7.0系统里面synoups文件结构已经改变了   不是6.2系统里面的语法所以一脸懵逼
页: 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38
查看完整版本: APC Back-UPS650+群晖,市电断电进入安全模式不关机问题解决