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系统里面的语法所以一脸懵逼