ncc.zabbix_fbsd_templates

Yohn Y. 2025-01-24 Parent:084000e4f9b6 Child:4c0387be9c91

15:4b52905c8a66 Go to Latest

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

.. v1.r202501.9 + Атомарно изменяем файлы с информацияе по сосотоянию пакетов + Поддержка приколов pkgng 2.0

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