ncc.zabbix_fbsd_templates
2025-06-01
Parent:4b52905c8a66
ncc.zabbix_fbsd_templates/src/aw.fbsd-mon-helper/bin/lounch.sh
.. v1.r202506.1 + Контроль запуска freebsd-update раз в 4 часа внутри скрипта, что позволяет запускать сам скрипт чаще. В инструкции по развёртыванию указано раз 15 минут + Контроль наличия запущенных процессов pkg, что позволит иметь меньше ошибок совместного использования БД пакетов системы
| awgur@0 | 1 #!/bin/sh |
| awgur@0 | 2 export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" |
| awgur@0 | 3 BIN_ROOT="$(dirname "$(readlink -f "$0")")" |
| awgur@0 | 4 APP_ROOT="$(dirname "$BIN_ROOT")" |
| awgur@0 | 5 STATE_ROOT="$APP_ROOT/var" |
| awgur@0 | 6 |
| awgur@10 | 7 if ! [ -d "$STATE_ROOT" ]; then |
| awgur@10 | 8 echo "NO STATE ROOT DIR: ${STATE_ROOT}" >&2 |
| awgur@10 | 9 exit 1 |
| awgur@10 | 10 fi |
| awgur@10 | 11 |
| awgur@10 | 12 |
| awgur@0 | 13 cat /dev/null > "$STATE_ROOT/status" |
| awgur@0 | 14 |
| awgur@0 | 15 . "$APP_ROOT/lib/log.sh" |
| awgur@0 | 16 |
| awgur@0 | 17 |
| awgur@0 | 18 if ! [ -f "$APP_ROOT/config.sh" ] ; then |
| awgur@0 | 19 echo "UNCONFIGURED!!!!" >&2 |
| awgur@0 | 20 exit 1 |
| awgur@0 | 21 fi |
| awgur@0 | 22 |
| awgur@14 | 23 TMP_ROOT="$(mktemp -dqp /tmp aw-fbsd-monitoring-XXXXXXXXXXXX)" |
| awgur@0 | 24 _err_status=$? |
| awgur@0 | 25 if [ ${_err_status} -ne 0 ] ; then |
| awgur@0 | 26 log_err -s "Cannot make TMP_ROOT, error status ${_err_status}" |
| awgur@0 | 27 exit 1 |
| awgur@0 | 28 fi |
| awgur@0 | 29 |
| awgur@10 | 30 USER_MON_PKG_LIST="$TMP_ROOT/user_pkg_mon" |
| awgur@10 | 31 touch "${USER_MON_PKG_LIST}" |
| awgur@0 | 32 |
| awgur@0 | 33 my_exit () { |
| awgur@0 | 34 if [ -d "$TMP_ROOT" ] ; then |
| awgur@0 | 35 rm -frv "$TMP_ROOT" 2>&1 | log |
| awgur@0 | 36 fi |
| awgur@0 | 37 } |
| awgur@0 | 38 |
| awgur@0 | 39 trap my_exit 0 |
| awgur@0 | 40 |
| awgur@10 | 41 . "$APP_ROOT/lib/common.sh" |
| awgur@0 | 42 . "$APP_ROOT/config.sh" |
| awgur@0 | 43 . "$APP_ROOT/lib/fbsd_up.sh" |
| awgur@0 | 44 . "$APP_ROOT/lib/pkg.sh" |
| awgur@0 | 45 |
| awgur@15 | 46 if [ "$1" != "fast" ] ; then |
| awgur@15 | 47 log "Start process, but sleep some..." |
| awgur@15 | 48 sleep_some |
| awgur@15 | 49 else |
| awgur@15 | 50 log "Skip wait, fast mode" |
| awgur@15 | 51 fi |
| awgur@0 | 52 |
| awgur@0 | 53 { |
| awgur@0 | 54 fbsd_up_do |
| awgur@0 | 55 pkg_do |
| awgur@0 | 56 } 2>&1 | log_err -s 2>&1 | to_status |