ncc.zabbix_fbsd_templates

Yohn Y. 2024-10-13 Parent:0f46afe818e3 Child:084000e4f9b6

1:42f11a826ab9 Go to Latest

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

* Не учитывался репозиторий при проверке версии пакета

History
awgur@0 1 #!/bin/sh
awgur@0 2 # Работа с обновлениями FreeBSD
awgur@0 3
awgur@0 4 v_fbsd_up_binary="/usr/sbin/freebsd-update"
awgur@0 5 v_fbsd_up_out="$STATE_ROOT/fbsd_update"
awgur@0 6 v_fbsd_up_status="$STATE_ROOT/fbsd_update.status"
awgur@0 7 v_fbsd_up_current_ver="$STATE_ROOT/fbsd_update.versions"
awgur@0 8
awgur@0 9
awgur@0 10 fbsd_up_init () {
awgur@0 11 $v_fbsd_up_binary fetch > "$v_fbsd_up_out"
awgur@0 12 }
awgur@0 13
awgur@0 14
awgur@0 15 fbsd_up_status () {
awgur@0 16 echo "$1" > "$v_fbsd_up_status"
awgur@0 17 }
awgur@0 18
awgur@0 19
awgur@0 20 fbsd_up_versions () {
awgur@0 21 printf "userland=%s\nkernel=%s\nkcurrent=%s\n" \
awgur@0 22 "$(/bin/freebsd-version -u)" \
awgur@0 23 "$(/bin/freebsd-version -k)" \
awgur@0 24 "$(/bin/freebsd-version -r)" \
awgur@0 25 > "${v_fbsd_up_current_ver}"
awgur@0 26 }
awgur@0 27
awgur@0 28
awgur@0 29 fbsd_up_do () {
awgur@0 30 log_start "fbsd_up_do"
awgur@0 31
awgur@0 32 fbsd_up_init
awgur@0 33 fbsd_up_versions
awgur@0 34 {
awgur@0 35 $v_fbsd_up_binary updatesready
awgur@0 36 local _ret="$?"
awgur@0 37
awgur@0 38 case "$_ret" in
awgur@0 39 0 )
awgur@0 40 if [ "$(cat "$v_fbsd_up_status")" != "NEED UPDATE" ]; then
awgur@0 41 mail -s "$(hostname -f): FREEBSD UPDATE NEEDED" "$ADMIN_MAIL" < "$v_fbsd_up_out"
awgur@0 42 fi
awgur@0 43
awgur@0 44 fbsd_up_status "NEED UPDATE"
awgur@0 45 ;;
awgur@0 46
awgur@0 47 1 )
awgur@0 48 fbsd_up_status "RUN ERROR"
awgur@0 49 ;;
awgur@0 50
awgur@0 51 2 )
awgur@0 52 fbsd_up_status "OK"
awgur@0 53 ;;
awgur@0 54
awgur@0 55 * )
awgur@0 56 fbsd_up_status "RUN ERROR"
awgur@0 57 log_err "fbsd_up: updatesready return unknown code ${_ret}"
awgur@0 58 ;;
awgur@0 59
awgur@0 60 esac
awgur@0 61 } 2>&1 | log
awgur@0 62
awgur@0 63 log_end
awgur@0 64 }