Автоматическое включение заглушки для graylog (на препроде)
Автоматическое включение заглушки для graylog (на препроде)#
Настроено на препроде на с07-nginx01.
Скрипт выбирает все файлы *graylog*.conf из /etc/nginx/conf.d/ и создаёт
для них соответствующие флаги .maintenance в /tmp/ramdisk.
Attention
Cкрипт не будет работать корректно, если в именах файлов встретятся пробелы или символы переноса строки!
Файлы:
/root/bin/nginx-graylog-maintenance-create.sh
#!/bin/bash
# This script will find any site conf files matching ${sites_pattern}
# in ${nginx_sites_location} and create corresponding flag files
# in ${flag_path} location
#
# Won't work correctly for filenames containing spaces, but to hell with it right now
# Alexey 2020-12-24
sites_pattern="*graylog*.conf"
nginx_sites_location="/etc/nginx/conf.d/"
flag_filename_suffix=".maintenance"
flag_path="/tmp/ramdisk/"
graylog_sites=$( find ${nginx_sites_location} -iname ${sites_pattern} -type f -printf "%f " )
if [ -z "${graylog_sites}" ]
then
echo "Haven't found any ${sites_pattern} sites in ${nginx_sites_location}, will exit now"
exit
fi
if [ ! -d "${flag_path}" ]
then
mkdir -p "${flag_path}"
fi
for cur_site in ${graylog_sites}
do
touch "${flag_path}${cur_site%.conf}${flag_filename_suffix}"
done
/root/bin/nginx-graylog-maintenance-remove.sh (автоматически не исполняется!)
#!/bin/bash
# This script will find any site conf files matching ${sites_pattern}
# in ${nginx_sites_location} and create corresponding flag files
# in ${flag_path} location
#
# Won't work correctly for filenames containing spaces, but to hell with it right now
# Alexey 2020-12-24
sites_pattern="*graylog*.conf"
nginx_sites_location="/etc/nginx/conf.d/"
flag_filename_suffix=".maintenance"
flag_path="/tmp/ramdisk/"
graylog_sites=$( find ${nginx_sites_location} -iname ${sites_pattern} -type f -printf "%f " )
if [ -z "${graylog_sites}" ]
then
echo "Haven't found any ${sites_pattern} sites in ${nginx_sites_location}, will exit now"
exit
fi
if [ ! -d "${flag_path}" ]
then
echo "nginx-graylog-maintenance ERROR: ${flag_path} does not exist!"
exit
fi
for cur_site in ${graylog_sites}
do
rm --force "${flag_path}${cur_site%.conf}${flag_filename_suffix}"
done
/etc/cron.d/sitefactory-nginx-graylog-auto-maintenance
# Alexey 2020-12-23: Automatically put maintenance flag files for graylog hosts
# Autoremove is commented out by GrayHoax'es order
59 23 * * * root /root/bin/nginx-graylog-maintenance-create.sh
###59 08 * * mon-fri root /root/bin/nginx-graylog-maintenance-remove.sh