我的脚本遇到了一些问题。
简而言之,我正在实习,我的老板给了我一个任务,让我为 Nagios 做一个 Probe。
这个探测器的目的是检查我们所有的主机,如果一个包从 repo 中丢失,如果是,那么我们在 Nagios 上有一个带有丢失包列表的警告。
如果我们想保留一个不在任何存储库中但我们不使用它的包,则此探测器可以包含一个白名单。
这是我的脚本:
#!/bin/bash
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
which apt-show-versions >/dev/null
STATE=$?
declare -a WHITELIST=( host1:elasticsearch:all host2:elasticsearch:all)
PACKAGES=()
NOT_AVAILABLE=()
HOST=$(hostname)
#while [ -f /var/lib/apt/lists/lock ]
#do
# sleep 2
#done
if [ "$STATE" = 0 ] #Verifie la condition apt-show-version = installer
then
packets=$(apt-show-versions | grep 'No available version in archive' | cut -d" " -f1)
for packet in $packets;do
PACKAGES+=("${HOST}:$packet")
done
for package in "${PACKAGES[@]}"; do
if [ "${WHITELIST[*]}" != "${package}" …Run Code Online (Sandbox Code Playgroud)