ncc.zabbix_fbsd_templates

Yohn Y. 2025-06-01 Parent:8b401f8069e3 Child:a62f3ef8cb55

18:4c0387be9c91 Go to Latest

ncc.zabbix_fbsd_templates/src/aw.fbsd-mon-helper/lib/pkg.sh

.. v1.r202506.1 + Контроль запуска freebsd-update раз в 4 часа внутри скрипта, что позволяет запускать сам скрипт чаще. В инструкции по развёртыванию указано раз 15 минут + Контроль наличия запущенных процессов pkg, что позволит иметь меньше ошибок совместного использования БД пакетов системы

History
     1.1 --- a/src/aw.fbsd-mon-helper/lib/pkg.sh	Tue Feb 11 19:49:30 2025 +0300
     1.2 +++ b/src/aw.fbsd-mon-helper/lib/pkg.sh	Sun Jun 01 12:31:35 2025 +0300
     1.3 @@ -152,16 +152,36 @@
     1.4  
     1.5  }
     1.6  
     1.7 +pkg_check_pkg_binary () {
     1.8 +  # Проверяет, нет ли в системе других запущенных приложений pkg. 
     1.9 +  # Необходимо, чтобы не мешать оперативным процессам обновления
    1.10 +
    1.11 +  {
    1.12 +    ps -Ao comm | awk '$1 == "pkg" {print $1}' | wc -l | tr -d ' '
    1.13 +  } 2>/dev/null
    1.14 +  
    1.15 +}
    1.16 +
    1.17  pkg_do () {
    1.18 +  local _other_pkgs
    1.19 +
    1.20    log_start "pkg_do"
    1.21  
    1.22 -  pkg_init
    1.23 +  _other_pkgs="$(pkg_check_pkg_binary)"
    1.24 +
    1.25 +  if [ "$_other_pkgs" -ne 0 ] ; then
    1.26 +    log "Pakages update check fail: other '${_other_pkgs}' binary working"
    1.27 +    ps -Ao comm,ppid,pid,time | awk '$1 == "pkg" {print $0}' | log
    1.28  
    1.29 -  pkg_check_up_status
    1.30 -  pkg audit -qF > "${v_pkg_update_status}.audit"
    1.31 -  mv -f "${v_pkg_update_status}.audit" "${v_pkg_update_status_res}.audit"
    1.32 +  else
    1.33 +    pkg_init
    1.34  
    1.35 -  pkg_make_detail
    1.36 +    pkg_check_up_status
    1.37 +    pkg audit -qF > "${v_pkg_update_status}.audit"
    1.38 +    mv -f "${v_pkg_update_status}.audit" "${v_pkg_update_status_res}.audit"
    1.39 +
    1.40 +    pkg_make_detail
    1.41 +  fi
    1.42  
    1.43    log_end
    1.44  }
    1.45 \ No newline at end of file