ncc.zabbix_fbsd_templates
2024-10-13
Child:084000e4f9b6
ncc.zabbix_fbsd_templates/src/aw.fbsd-mon-helper/lib/fbsd_up.sh
.. init
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/aw.fbsd-mon-helper/lib/fbsd_up.sh Sun Oct 13 18:44:51 2024 +0300 1.3 @@ -0,0 +1,64 @@ 1.4 +#!/bin/sh 1.5 +# Работа с обновлениями FreeBSD 1.6 + 1.7 +v_fbsd_up_binary="/usr/sbin/freebsd-update" 1.8 +v_fbsd_up_out="$STATE_ROOT/fbsd_update" 1.9 +v_fbsd_up_status="$STATE_ROOT/fbsd_update.status" 1.10 +v_fbsd_up_current_ver="$STATE_ROOT/fbsd_update.versions" 1.11 + 1.12 + 1.13 +fbsd_up_init () { 1.14 + $v_fbsd_up_binary fetch > "$v_fbsd_up_out" 1.15 +} 1.16 + 1.17 + 1.18 +fbsd_up_status () { 1.19 + echo "$1" > "$v_fbsd_up_status" 1.20 +} 1.21 + 1.22 + 1.23 +fbsd_up_versions () { 1.24 + printf "userland=%s\nkernel=%s\nkcurrent=%s\n" \ 1.25 + "$(/bin/freebsd-version -u)" \ 1.26 + "$(/bin/freebsd-version -k)" \ 1.27 + "$(/bin/freebsd-version -r)" \ 1.28 + > "${v_fbsd_up_current_ver}" 1.29 +} 1.30 + 1.31 + 1.32 +fbsd_up_do () { 1.33 + log_start "fbsd_up_do" 1.34 + 1.35 + fbsd_up_init 1.36 + fbsd_up_versions 1.37 + { 1.38 + $v_fbsd_up_binary updatesready 1.39 + local _ret="$?" 1.40 + 1.41 + case "$_ret" in 1.42 + 0 ) 1.43 + if [ "$(cat "$v_fbsd_up_status")" != "NEED UPDATE" ]; then 1.44 + mail -s "$(hostname -f): FREEBSD UPDATE NEEDED" "$ADMIN_MAIL" < "$v_fbsd_up_out" 1.45 + fi 1.46 + 1.47 + fbsd_up_status "NEED UPDATE" 1.48 + ;; 1.49 + 1.50 + 1 ) 1.51 + fbsd_up_status "RUN ERROR" 1.52 + ;; 1.53 + 1.54 + 2 ) 1.55 + fbsd_up_status "OK" 1.56 + ;; 1.57 + 1.58 + * ) 1.59 + fbsd_up_status "RUN ERROR" 1.60 + log_err "fbsd_up: updatesready return unknown code ${_ret}" 1.61 + ;; 1.62 + 1.63 + esac 1.64 + } 2>&1 | log 1.65 + 1.66 + log_end 1.67 +}