tools.utils

Yohn Y. 2023-12-16 Parent:e6a423f0d231 Child:1080c58bc4ee

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 -