```{index} graylog, препрод ``` # Автоматическое включение заглушки для graylog (на препроде) Настроено на препроде на `с07-nginx01`. Скрипт выбирает все файлы `*graylog*.conf` из `/etc/nginx/conf.d/` и создаёт для них соответствующие флаги `.maintenance` в `/tmp/ramdisk`. ```{attention} Cкрипт не будет работать корректно, если в именах файлов встретятся пробелы или символы переноса строки! ``` ```{rubric} Файлы: ``` `/root/bin/nginx-graylog-maintenance-create.sh` ```bash #!/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` *(автоматически не исполняется!)* ```bash #!/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` ```bash # 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 ```