forked from evolix/ansible-roles
84 lines
1.6 KiB
Bash
84 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
# https://forge.evolix.org/projects/evolix-private/repository
|
|
#
|
|
# You should not alter this file.
|
|
# If you need to, create and customize a copy.
|
|
|
|
set -e
|
|
|
|
readonly PROGNAME=$(basename $0)
|
|
readonly PROGDIR=$(readlink -m $(dirname $0))
|
|
readonly ARGS="$@"
|
|
|
|
usage() {
|
|
echo "$PROGNAME action prefix"
|
|
}
|
|
|
|
disable_alerts () {
|
|
disabled_file="$1_disabled"
|
|
enabled_file="$1_enabled"
|
|
|
|
if [ -e "${enabled_file}" ]; then
|
|
mv "${enabled_file}" "${disabled_file}"
|
|
else
|
|
touch "${disabled_file}"
|
|
chmod 0644 "${disabled_file}"
|
|
fi
|
|
}
|
|
|
|
enable_alerts () {
|
|
disabled_file="$1_disabled"
|
|
enabled_file="$1_enabled"
|
|
|
|
if [ -e "${disabled_file}" ]; then
|
|
mv "${disabled_file}" "${enabled_file}"
|
|
else
|
|
touch "${enabled_file}"
|
|
chmod 0644 "${enabled_file}"
|
|
fi
|
|
}
|
|
|
|
now () {
|
|
date --iso-8601=seconds
|
|
}
|
|
|
|
log_disable () {
|
|
echo "$(now) - alerts disabled by $(logname || echo unknown)" >> $1
|
|
}
|
|
|
|
log_enable () {
|
|
echo "$(now) - alerts enabled by $(logname || echo unknown)" >> $1
|
|
}
|
|
|
|
main () {
|
|
local action=$1
|
|
local prefix=$2
|
|
|
|
local base_dir="/var/lib/misc"
|
|
mkdir -p "${base_dir}"
|
|
|
|
local file_path="${base_dir}/${prefix}_alerts"
|
|
local log_file="/var/log/${prefix}_alerts.log"
|
|
|
|
case "$action" in
|
|
enable)
|
|
enable_alerts ${file_path}
|
|
log_enable ${log_file}
|
|
;;
|
|
disable)
|
|
disable_alerts ${file_path}
|
|
log_disable ${log_file}
|
|
;;
|
|
help)
|
|
usage
|
|
;;
|
|
*)
|
|
>&2 echo "Unknown action '$action'"
|
|
exit 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
main $ARGS
|