Merge branch 'master' into IS_NETWORKING_SERVICE
This commit is contained in:
commit
f704f4526a
46
CHANGELOG
46
CHANGELOG
|
@ -15,6 +15,49 @@ and this project **does not adhere to [Semantic Versioning](http://semver.org/sp
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|
||||||
|
## [22.05] 2022-05-12
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
IS_EVOBACKUP_EXCLUDE_MOUNT: exclude scripts without Rsync command
|
||||||
|
|
||||||
|
## [22.04.1] 2022-04-25
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
* fix various shellcheck violations
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
* IS_EVOBACKUP_EXCLUDE_MOUNT: fix one-file-system restriction
|
||||||
|
|
||||||
|
## [22.04] 2022-04-25
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
* IS_EVOBACKUP_EXCLUDE_MOUNT : skip if --one-file-system is used
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
* check_versions: "IS_CHECK_VERSIONS" was checked but "IS_VERSIONS_CHECK" was echoed, now "IS_CHECK_VERSIONS" everywhere
|
||||||
|
|
||||||
|
### Security
|
||||||
|
|
||||||
|
* check_debiansecurity: Consider both https://deb\.debian\.org/debian-security/ and https://security\.debian\.org/debian-security/ as valid since both are documented as such.
|
||||||
|
|
||||||
|
## [22.03.1] 2022-03-22
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
* check_autoif : Ignore lxcbr interfaces, new since bullseye
|
||||||
|
|
||||||
|
## [22.03] 2022-03-15
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
* check_mysqlmunin : Complain if munin plugin mysql_commands returns an error
|
||||||
|
* check_versions : track minifirewall version
|
||||||
|
|
||||||
## [21.10.4] 2021-10-25
|
## [21.10.4] 2021-10-25
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
@ -31,7 +74,8 @@ and this project **does not adhere to [Semantic Versioning](http://semver.org/sp
|
||||||
## [21.10.2] 2021-10-22
|
## [21.10.2] 2021-10-22
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
Let's try the --version flag before falling back to grep for the constant
|
|
||||||
|
* Let's try the --version flag before falling back to grep for the constant
|
||||||
|
|
||||||
## [21.10.1] 2021-10-01
|
## [21.10.1] 2021-10-01
|
||||||
|
|
||||||
|
|
98
evocheck.sh
98
evocheck.sh
|
@ -4,7 +4,7 @@
|
||||||
# Script to verify compliance of a Debian/OpenBSD server
|
# Script to verify compliance of a Debian/OpenBSD server
|
||||||
# powered by Evolix
|
# powered by Evolix
|
||||||
|
|
||||||
VERSION="21.10.4"
|
VERSION="22.05"
|
||||||
readonly VERSION
|
readonly VERSION
|
||||||
|
|
||||||
# base functions
|
# base functions
|
||||||
|
@ -13,7 +13,7 @@ show_version() {
|
||||||
cat <<END
|
cat <<END
|
||||||
evocheck version ${VERSION}
|
evocheck version ${VERSION}
|
||||||
|
|
||||||
Copyright 2009-2021 Evolix <info@evolix.fr>,
|
Copyright 2009-2022 Evolix <info@evolix.fr>,
|
||||||
Romain Dessort <rdessort@evolix.fr>,
|
Romain Dessort <rdessort@evolix.fr>,
|
||||||
Benoit Série <bserie@evolix.fr>,
|
Benoit Série <bserie@evolix.fr>,
|
||||||
Gregory Colpart <reg@evolix.fr>,
|
Gregory Colpart <reg@evolix.fr>,
|
||||||
|
@ -142,9 +142,9 @@ failed() {
|
||||||
RC=1
|
RC=1
|
||||||
if [ "${QUIET}" != 1 ]; then
|
if [ "${QUIET}" != 1 ]; then
|
||||||
if [ -n "${check_comments}" ] && [ "${VERBOSE}" = 1 ]; then
|
if [ -n "${check_comments}" ] && [ "${VERBOSE}" = 1 ]; then
|
||||||
printf "%s FAILED! %s\n" "${check_name}" "${check_comments}" 2>&1
|
printf "%s FAILED! %s\n" "${check_name}" "${check_comments}" >> "${main_output_file}"
|
||||||
else
|
else
|
||||||
printf "%s FAILED!\n" "${check_name}" 2>&1
|
printf "%s FAILED!\n" "${check_name}" >> "${main_output_file}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -234,7 +234,8 @@ check_syslogconf() {
|
||||||
check_debiansecurity() {
|
check_debiansecurity() {
|
||||||
if is_debian_bullseye; then
|
if is_debian_bullseye; then
|
||||||
# https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.html#security-archive
|
# https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.html#security-archive
|
||||||
pattern="^deb https://deb\.debian\.org/debian-security/? bullseye-security main"
|
# https://www.debian.org/security/
|
||||||
|
pattern="^deb http://security\.debian\.org/debian-security/? bullseye-security main"
|
||||||
elif is_debian_buster; then
|
elif is_debian_buster; then
|
||||||
pattern="^deb http://security\.debian\.org/debian-security/? buster/updates main"
|
pattern="^deb http://security\.debian\.org/debian-security/? buster/updates main"
|
||||||
elif is_debian_stretch; then
|
elif is_debian_stretch; then
|
||||||
|
@ -328,11 +329,16 @@ check_tmoutprofile() {
|
||||||
check_alert5boot() {
|
check_alert5boot() {
|
||||||
if is_debian_buster || is_debian_bullseye; then
|
if is_debian_buster || is_debian_bullseye; then
|
||||||
grep -qs "^date" /usr/share/scripts/alert5.sh || failed "IS_ALERT5BOOT" "boot mail is not sent by alert5 init script"
|
grep -qs "^date" /usr/share/scripts/alert5.sh || failed "IS_ALERT5BOOT" "boot mail is not sent by alert5 init script"
|
||||||
test -f /etc/systemd/system/alert5.service || failed "IS_ALERT5BOOT" "alert5 unit file is missing"
|
if [ -f /etc/systemd/system/alert5.service ]; then
|
||||||
systemctl is-enabled alert5 -q || failed "IS_ALERT5BOOT" "alert5 unit is not enabled"
|
systemctl is-enabled alert5.service -q || failed "IS_ALERT5BOOT" "alert5 unit is not enabled"
|
||||||
|
else
|
||||||
|
failed "IS_ALERT5BOOT" "alert5 unit file is missing"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
if [ -n "$(find /etc/rc2.d/ -name 'S*alert5')" ]; then
|
if [ -n "$(find /etc/rc2.d/ -name 'S*alert5')" ]; then
|
||||||
grep -q "^date" /etc/rc2.d/S*alert5 || failed "IS_ALERT5BOOT" "boot mail is not sent by alert5 init script"
|
grep -q "^date" /etc/rc2.d/S*alert5 || failed "IS_ALERT5BOOT" "boot mail is not sent by alert5 init script"
|
||||||
|
elif [ -n "$(find /etc/init.d/ -name 'alert5')" ]; then
|
||||||
|
grep -q "^date" /etc/init.d/alert5 || failed "IS_ALERT5BOOT" "boot mail is not sent by alert5 int script"
|
||||||
else
|
else
|
||||||
failed "IS_ALERT5BOOT" "alert5 init script is missing"
|
failed "IS_ALERT5BOOT" "alert5 init script is missing"
|
||||||
fi
|
fi
|
||||||
|
@ -346,6 +352,9 @@ check_alert5minifw() {
|
||||||
if [ -n "$(find /etc/rc2.d/ -name 'S*alert5')" ]; then
|
if [ -n "$(find /etc/rc2.d/ -name 'S*alert5')" ]; then
|
||||||
grep -q "^/etc/init.d/minifirewall" /etc/rc2.d/S*alert5 \
|
grep -q "^/etc/init.d/minifirewall" /etc/rc2.d/S*alert5 \
|
||||||
|| failed "IS_ALERT5MINIFW" "Minifirewall is not started by alert5 init script"
|
|| failed "IS_ALERT5MINIFW" "Minifirewall is not started by alert5 init script"
|
||||||
|
elif [ -n "$(find /etc/init.d/ -name 'alert5')" ]; then
|
||||||
|
grep -q "^/etc/init.d/minifirewall" /etc/init.d/alert5 \
|
||||||
|
|| failed "IS_ALERT5MINIFW" "Minifirewall is not started by alert5 init script"
|
||||||
else
|
else
|
||||||
failed "IS_ALERT5MINIFW" "alert5 init script is missing"
|
failed "IS_ALERT5MINIFW" "alert5 init script is missing"
|
||||||
fi
|
fi
|
||||||
|
@ -567,7 +576,7 @@ check_network_interfaces() {
|
||||||
# Verify if all if are in auto
|
# Verify if all if are in auto
|
||||||
check_autoif() {
|
check_autoif() {
|
||||||
if is_debian_stretch || is_debian_buster || is_debian_bullseye; then
|
if is_debian_stretch || is_debian_buster || is_debian_bullseye; then
|
||||||
interfaces=$(/sbin/ip address show up | grep "^[0-9]*:" | grep -E -v "(lo|vnet|docker|veth|tun|tap|macvtap|vrrp)" | cut -d " " -f 2 | tr -d : | cut -d@ -f1 | tr "\n" " ")
|
interfaces=$(/sbin/ip address show up | grep "^[0-9]*:" | grep -E -v "(lo|vnet|docker|veth|tun|tap|macvtap|vrrp|lxcbr)" | cut -d " " -f 2 | tr -d : | cut -d@ -f1 | tr "\n" " ")
|
||||||
else
|
else
|
||||||
interfaces=$(/sbin/ifconfig -s | tail -n +2 | grep -E -v "^(lo|vnet|docker|veth|tun|tap|macvtap|vrrp)" | cut -d " " -f 1 |tr "\n" " ")
|
interfaces=$(/sbin/ifconfig -s | tail -n +2 | grep -E -v "^(lo|vnet|docker|veth|tun|tap|macvtap|vrrp)" | cut -d " " -f 1 |tr "\n" " ")
|
||||||
fi
|
fi
|
||||||
|
@ -602,18 +611,24 @@ check_evobackup() {
|
||||||
}
|
}
|
||||||
# Vérification de l'exclusion des montages (NFS) dans les sauvegardes
|
# Vérification de l'exclusion des montages (NFS) dans les sauvegardes
|
||||||
check_evobackup_exclude_mount() {
|
check_evobackup_exclude_mount() {
|
||||||
excludes_file=$(mktemp)
|
excludes_file=$(mktemp --tmpdir="${TMPDIR:-/tmp}" "evocheck.evobackup_exclude_mount.XXXXX")
|
||||||
# shellcheck disable=SC2064
|
files_to_cleanup="${files_to_cleanup} ${excludes_file}"
|
||||||
trap "rm -f ${excludes_file}" 0
|
|
||||||
# shellcheck disable=SC2044
|
# shellcheck disable=SC2044
|
||||||
for evobackup_file in $(find /etc/cron* -name '*evobackup*' | grep -v -E ".disabled$"); do
|
for evobackup_file in $(find /etc/cron* -name '*evobackup*' | grep -v -E ".disabled$"); do
|
||||||
|
# if the file seems to be a backup script, with an Rsync invocation
|
||||||
|
if grep -q "^\s*rsync" "${evobackup_file}"; then
|
||||||
|
# If rsync is not limited by "one-file-system"
|
||||||
|
# then we verify that every mount is excluded
|
||||||
|
if ! grep -q -- "^\s*--one-file-system" "${evobackup_file}"; then
|
||||||
grep -- "--exclude " "${evobackup_file}" | grep -E -o "\"[^\"]+\"" | tr -d '"' > "${excludes_file}"
|
grep -- "--exclude " "${evobackup_file}" | grep -E -o "\"[^\"]+\"" | tr -d '"' > "${excludes_file}"
|
||||||
not_excluded=$(findmnt --type nfs,nfs4,fuse.sshfs, -o target --noheadings | grep -v -f "${excludes_file}")
|
not_excluded=$(findmnt --type nfs,nfs4,fuse.sshfs, -o target --noheadings | grep -v -f "${excludes_file}")
|
||||||
for mount in ${not_excluded}; do
|
for mount in ${not_excluded}; do
|
||||||
failed "IS_EVOBACKUP_EXCLUDE_MOUNT" "${mount} is not excluded from ${evobackup_file} backup script"
|
failed "IS_EVOBACKUP_EXCLUDE_MOUNT" "${mount} is not excluded from ${evobackup_file} backup script"
|
||||||
done
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
rm -rf "${excludes_file}"
|
|
||||||
}
|
}
|
||||||
# Verification de la presence du userlogrotate
|
# Verification de la presence du userlogrotate
|
||||||
check_userlogrotate() {
|
check_userlogrotate() {
|
||||||
|
@ -819,10 +834,12 @@ check_tune2fs_m5() {
|
||||||
check_evolinuxsudogroup() {
|
check_evolinuxsudogroup() {
|
||||||
if is_debian_stretch || is_debian_buster || is_debian_bullseye; then
|
if is_debian_stretch || is_debian_buster || is_debian_bullseye; then
|
||||||
if grep -q "^evolinux-sudo:" /etc/group; then
|
if grep -q "^evolinux-sudo:" /etc/group; then
|
||||||
|
if [ -f /etc/sudoers.d/evolinux ]; then
|
||||||
grep -qE '^%evolinux-sudo +ALL ?= ?\(ALL:ALL\) ALL' /etc/sudoers.d/evolinux \
|
grep -qE '^%evolinux-sudo +ALL ?= ?\(ALL:ALL\) ALL' /etc/sudoers.d/evolinux \
|
||||||
|| failed "IS_EVOLINUXSUDOGROUP" "missing evolinux-sudo directive in sudoers file"
|
|| failed "IS_EVOLINUXSUDOGROUP" "missing evolinux-sudo directive in sudoers file"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
check_userinadmgroup() {
|
check_userinadmgroup() {
|
||||||
if is_debian_stretch || is_debian_buster || is_debian_bullseye; then
|
if is_debian_stretch || is_debian_buster || is_debian_bullseye; then
|
||||||
|
@ -953,7 +970,7 @@ check_mongo_backup() {
|
||||||
# You could change the default path in /etc/evocheck.cf
|
# You could change the default path in /etc/evocheck.cf
|
||||||
MONGO_BACKUP_PATH=${MONGO_BACKUP_PATH:-"/home/backup/mongodump"}
|
MONGO_BACKUP_PATH=${MONGO_BACKUP_PATH:-"/home/backup/mongodump"}
|
||||||
if [ -d "$MONGO_BACKUP_PATH" ]; then
|
if [ -d "$MONGO_BACKUP_PATH" ]; then
|
||||||
for file in "${MONGO_BACKUP_PATH}"/*/*.{json,bson}; do
|
for file in "${MONGO_BACKUP_PATH}"/*/*.{json,bson}.*; do
|
||||||
# Skip indexes file.
|
# Skip indexes file.
|
||||||
if ! [[ "$file" =~ indexes ]]; then
|
if ! [[ "$file" =~ indexes ]]; then
|
||||||
limit=$(date +"%s" -d "now - 2 day")
|
limit=$(date +"%s" -d "now - 2 day")
|
||||||
|
@ -1016,6 +1033,8 @@ check_mysqlmunin() {
|
||||||
test "${VERBOSE}" = 1 || break
|
test "${VERBOSE}" = 1 || break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
munin-run mysql_commands 2> /dev/null > /dev/null
|
||||||
|
test $? -eq 0 || failed "IS_MYSQLMUNIN" "Munin plugin mysql_commands returned an error"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -1072,8 +1091,10 @@ check_squidevolinuxconf() {
|
||||||
check_duplicate_fs_label() {
|
check_duplicate_fs_label() {
|
||||||
# Do it only if thereis blkid binary
|
# Do it only if thereis blkid binary
|
||||||
BLKID_BIN=$(command -v blkid)
|
BLKID_BIN=$(command -v blkid)
|
||||||
if [ -x "$BLKID_BIN" ]; then
|
if [ -n "$BLKID_BIN" ]; then
|
||||||
tmpFile=$(mktemp -p /tmp)
|
tmpFile=$(mktemp --tmpdir="${TMPDIR:-/tmp}" "evocheck.duplicate_fs_label.XXXXX")
|
||||||
|
files_to_cleanup="${files_to_cleanup} ${tmpFile}"
|
||||||
|
|
||||||
parts=$($BLKID_BIN -c /dev/null | grep -ve raid_member -e EFI_SYSPART | grep -Eo ' LABEL=".*"' | cut -d'"' -f2)
|
parts=$($BLKID_BIN -c /dev/null | grep -ve raid_member -e EFI_SYSPART | grep -Eo ' LABEL=".*"' | cut -d'"' -f2)
|
||||||
for part in $parts; do
|
for part in $parts; do
|
||||||
echo "$part" >> "$tmpFile"
|
echo "$part" >> "$tmpFile"
|
||||||
|
@ -1086,7 +1107,6 @@ check_duplicate_fs_label() {
|
||||||
labels=$(echo -n $tmpOutput | tr '\n' ' ')
|
labels=$(echo -n $tmpOutput | tr '\n' ' ')
|
||||||
failed "IS_DUPLICATE_FS_LABEL" "Duplicate labels: $labels"
|
failed "IS_DUPLICATE_FS_LABEL" "Duplicate labels: $labels"
|
||||||
fi
|
fi
|
||||||
rm "$tmpFile"
|
|
||||||
else
|
else
|
||||||
failed "IS_DUPLICATE_FS_LABEL" "blkid not found in ${PATH}"
|
failed "IS_DUPLICATE_FS_LABEL" "blkid not found in ${PATH}"
|
||||||
fi
|
fi
|
||||||
|
@ -1377,7 +1397,7 @@ download_versions() {
|
||||||
elif is_openbsd; then
|
elif is_openbsd; then
|
||||||
versions_url="https://upgrades.evolix.org/versions-${OPENBSD_RELEASE}"
|
versions_url="https://upgrades.evolix.org/versions-${OPENBSD_RELEASE}"
|
||||||
else
|
else
|
||||||
failed "IS_VERSIONS_CHECK" "error determining os release"
|
failed "IS_CHECK_VERSIONS" "error determining os release"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# fetch timeout, in seconds
|
# fetch timeout, in seconds
|
||||||
|
@ -1390,9 +1410,9 @@ download_versions() {
|
||||||
elif command -v GET; then
|
elif command -v GET; then
|
||||||
GET -t ${timeout}s "${versions_url}" > "${versions_file}"
|
GET -t ${timeout}s "${versions_url}" > "${versions_file}"
|
||||||
else
|
else
|
||||||
failed "IS_VERSIONS_CHECK" "failed to find curl, wget or GET"
|
failed "IS_CHECK_VERSIONS" "failed to find curl, wget or GET"
|
||||||
fi
|
fi
|
||||||
test "$?" -eq 0 || failed "IS_VERSIONS_CHECK" "failed to download ${versions_url} to ${versions_file}"
|
test "$?" -eq 0 || failed "IS_CHECK_VERSIONS" "failed to download ${versions_url} to ${versions_file}"
|
||||||
}
|
}
|
||||||
get_command() {
|
get_command() {
|
||||||
local program
|
local program
|
||||||
|
@ -1405,6 +1425,7 @@ get_command() {
|
||||||
listupgrade) command -v "evolistupgrade.sh" ;;
|
listupgrade) command -v "evolistupgrade.sh" ;;
|
||||||
old-kernel-autoremoval) command -v "old-kernel-autoremoval.sh" ;;
|
old-kernel-autoremoval) command -v "old-kernel-autoremoval.sh" ;;
|
||||||
mysql-queries-killer) command -v "mysql-queries-killer.sh" ;;
|
mysql-queries-killer) command -v "mysql-queries-killer.sh" ;;
|
||||||
|
minifirewall) echo "/etc/init.d/minifirewall" ;;
|
||||||
|
|
||||||
## General case, where the program name is the same as the command name
|
## General case, where the program name is the same as the command name
|
||||||
*) command -v "${program}" ;;
|
*) command -v "${program}" ;;
|
||||||
|
@ -1425,6 +1446,9 @@ get_version() {
|
||||||
add-vm)
|
add-vm)
|
||||||
grep '^VERSION=' "${command}" | head -1 | cut -d '=' -f 2
|
grep '^VERSION=' "${command}" | head -1 | cut -d '=' -f 2
|
||||||
;;
|
;;
|
||||||
|
minifirewall)
|
||||||
|
${command} version | head -1 | cut -d ' ' -f 3
|
||||||
|
;;
|
||||||
## Let's try the --version flag before falling back to grep for the constant
|
## Let's try the --version flag before falling back to grep for the constant
|
||||||
kvmstats)
|
kvmstats)
|
||||||
if ${command} --version > /dev/null 2> /dev/null; then
|
if ${command} --version > /dev/null 2> /dev/null; then
|
||||||
|
@ -1450,11 +1474,11 @@ check_version() {
|
||||||
actual_version=$(get_version "${program}" "${command}")
|
actual_version=$(get_version "${program}" "${command}")
|
||||||
# printf "program:%s expected:%s actual:%s\n" "${program}" "${expected_version}" "${actual_version}"
|
# printf "program:%s expected:%s actual:%s\n" "${program}" "${expected_version}" "${actual_version}"
|
||||||
if [ -z "${actual_version}" ]; then
|
if [ -z "${actual_version}" ]; then
|
||||||
failed "IS_VERSIONS_CHECK" "failed to lookup actual version of ${program}"
|
failed "IS_CHECK_VERSIONS" "failed to lookup actual version of ${program}"
|
||||||
elif dpkg --compare-versions "${actual_version}" lt "${expected_version}"; then
|
elif dpkg --compare-versions "${actual_version}" lt "${expected_version}"; then
|
||||||
failed "IS_VERSIONS_CHECK" "${program} version ${actual_version} is older than expected version ${expected_version}"
|
failed "IS_CHECK_VERSIONS" "${program} version ${actual_version} is older than expected version ${expected_version}"
|
||||||
elif dpkg --compare-versions "${actual_version}" gt "${expected_version}"; then
|
elif dpkg --compare-versions "${actual_version}" gt "${expected_version}"; then
|
||||||
failed "IS_VERSIONS_CHECK" "${program} version ${actual_version} is newer than expected version ${expected_version}, you should update tour index."
|
failed "IS_CHECK_VERSIONS" "${program} version ${actual_version} is newer than expected version ${expected_version}, you should update your index."
|
||||||
else
|
else
|
||||||
: # Version check OK
|
: # Version check OK
|
||||||
fi
|
fi
|
||||||
|
@ -1467,9 +1491,9 @@ add_to_path() {
|
||||||
echo "$PATH" | grep -qF "${new_path}" || export PATH="${PATH}:${new_path}"
|
echo "$PATH" | grep -qF "${new_path}" || export PATH="${PATH}:${new_path}"
|
||||||
}
|
}
|
||||||
check_versions() {
|
check_versions() {
|
||||||
versions_file=$(mktemp --tmpdir=/tmp "evocheck-versions.XXXXX")
|
versions_file=$(mktemp --tmpdir="${TMPDIR:-/tmp}" "evocheck.versions.XXXXX")
|
||||||
# shellcheck disable=SC2064
|
files_to_cleanup="${files_to_cleanup} ${versions_file}"
|
||||||
trap "rm -f ${versions_file}" 0
|
|
||||||
download_versions "${versions_file}"
|
download_versions "${versions_file}"
|
||||||
add_to_path "/usr/share/scripts"
|
add_to_path "/usr/share/scripts"
|
||||||
|
|
||||||
|
@ -1483,12 +1507,10 @@ check_versions() {
|
||||||
if [ -n "${version}" ]; then
|
if [ -n "${version}" ]; then
|
||||||
check_version "${program}" "${version}"
|
check_version "${program}" "${version}"
|
||||||
else
|
else
|
||||||
failed "IS_VERSIONS_CHECK" "failed to lookup expected version for ${program}"
|
failed "IS_CHECK_VERSIONS" "failed to lookup expected version for ${program}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -f "${versions_file}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
@ -1497,6 +1519,9 @@ main() {
|
||||||
# Detect operating system name, version and release
|
# Detect operating system name, version and release
|
||||||
detect_os
|
detect_os
|
||||||
|
|
||||||
|
main_output_file=$(mktemp --tmpdir="${TMPDIR:-/tmp}" "evocheck.main.XXXXX")
|
||||||
|
files_to_cleanup="${files_to_cleanup} ${main_output_file}"
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
# Tests communs à tous les systèmes
|
# Tests communs à tous les systèmes
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
|
@ -1726,8 +1751,21 @@ main() {
|
||||||
# - NRPEDISK et NRPEPOSTFIX
|
# - NRPEDISK et NRPEPOSTFIX
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -f "${main_output_file}" ]; then
|
||||||
|
lines_found=$(wc -l < "${main_output_file}")
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
if [ ${lines_found} -gt 0 ]; then
|
||||||
|
|
||||||
|
cat "${main_output_file}" 2>&1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
exit ${RC}
|
exit ${RC}
|
||||||
}
|
}
|
||||||
|
cleanup_temp_files() {
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
rm -f ${files_to_cleanup}
|
||||||
|
}
|
||||||
|
|
||||||
PROGNAME=$(basename "$0")
|
PROGNAME=$(basename "$0")
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
|
@ -1741,6 +1779,10 @@ readonly ARGS
|
||||||
export LANG=C
|
export LANG=C
|
||||||
export LANGUAGE=C
|
export LANGUAGE=C
|
||||||
|
|
||||||
|
files_to_cleanup=""
|
||||||
|
# shellcheck disable=SC2064
|
||||||
|
trap cleanup_temp_files 0
|
||||||
|
|
||||||
# Source configuration file
|
# Source configuration file
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
test -f /etc/evocheck.cf && . /etc/evocheck.cf
|
test -f /etc/evocheck.cf && . /etc/evocheck.cf
|
||||||
|
|
Loading…
Reference in a new issue