tools.utils
1:76ec73e5f395 Browse Files
. Неверное именование файла
kvm/qemu-ga.watcher.sh kvm/qemu-ga.watcher.sh.sh
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/kvm/qemu-ga.watcher.sh Sat Dec 16 12:59:55 2023 +0300 1.3 @@ -0,0 +1,55 @@ 1.4 +#!/bin/sh 1.5 +# devel.a0fs.ru -- ncc.mon.kvm.tool:/root/libexec/qemu-ga.watcher.sh -- v0.r202312.1 1.6 +# Запускается через crontab: 1.7 +# */15 * * * * /bin/sh /root/libexec/qemu-ga.watcher.sh 1.8 +# 1.9 +export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" 1.10 + 1.11 +NAME="qemu-ga" 1.12 + 1.13 + 1.14 +log () { 1.15 + logger -t "qemu-ga.watcher" "$@" 1.16 +} 1.17 + 1.18 + 1.19 +check_get_proc () { 1.20 + ps -Ao comm,pcpu | awk -v pname="$NAME" '\ 1.21 + BEGIN {buf = 0}; \ 1.22 + $1 == pname {if (buf < $2) buf = $2 * 10 } \ 1.23 + END {print buf} \ 1.24 + ' 1.25 +} 1.26 + 1.27 + 1.28 +check () { 1.29 + [ $(check_get_proc) -ge 800 ] 1.30 +} 1.31 + 1.32 + 1.33 +{ 1.34 + flag="1" 1.35 + echo CHECK 1.36 + if check ; then 1.37 + log -p user.error "qemu agent overload: watching..." 1.38 + cntr=0 1.39 + 1.40 + while [ $cntr -le 100 ] ; do 1.41 + sleep 1 1.42 + cntr=$(( $cntr + 1 )) 1.43 + 1.44 + if ! check ; then 1.45 + flag="" 1.46 + break 1.47 + 1.48 + fi 1.49 + done 1.50 + 1.51 + if [ "$flag" ] ; then 1.52 + log -p user.error "qemu agent overload: restarting" 1.53 + systemctl restart qemu-guest-agent 1.54 + 1.55 + fi 1.56 + 1.57 +} 2>&1 | log 1.58 +
2.1 --- a/kvm/qemu-ga.watcher.sh.sh Sat Dec 16 12:55:13 2023 +0300 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,55 +0,0 @@ 2.4 -#!/bin/sh 2.5 -# devel.a0fs.ru -- ncc.mon.kvm.tool:/root/libexec/qemu-ga.watcher.sh -- v0.r202312.1 2.6 -# Запускается через crontab: 2.7 -# */15 * * * * /bin/sh /root/libexec/qemu-ga.watcher.sh 2.8 -# 2.9 -export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" 2.10 - 2.11 -NAME="qemu-ga" 2.12 - 2.13 - 2.14 -log () { 2.15 - logger -t "qemu-ga.watcher" "$@" 2.16 -} 2.17 - 2.18 - 2.19 -check_get_proc () { 2.20 - ps -Ao comm,pcpu | awk -v pname="$NAME" '\ 2.21 - BEGIN {buf = 0}; \ 2.22 - $1 == pname {if (buf < $2) buf = $2 * 10 } \ 2.23 - END {print buf} \ 2.24 - ' 2.25 -} 2.26 - 2.27 - 2.28 -check () { 2.29 - [ $(check_get_proc) -ge 800 ] 2.30 -} 2.31 - 2.32 - 2.33 -{ 2.34 - flag="1" 2.35 - echo CHECK 2.36 - if check ; then 2.37 - log -p user.error "qemu agent overload: watching..." 2.38 - cntr=0 2.39 - 2.40 - while [ $cntr -le 100 ] ; do 2.41 - sleep 1 2.42 - cntr=$(( $cntr + 1 )) 2.43 - 2.44 - if ! check ; then 2.45 - flag="" 2.46 - break 2.47 - 2.48 - fi 2.49 - done 2.50 - 2.51 - if [ "$flag" ] ; then 2.52 - log -p user.error "qemu agent overload: restarting" 2.53 - systemctl restart qemu-guest-agent 2.54 - 2.55 - fi 2.56 - 2.57 -} 2>&1 | log 2.58 -