Как я могу создать две переменные из источника, где включенные файлы существуют или не существуют?
Например, в конфигурации Apache файлы могут быть включены, но возможно, что файлы не будут существует.
Apache httpd.conf
фрагмент:
Include /var/site/conf/apache/1.conf
Include /var/site/conf/apache/2.conf
Include /var/site/conf/apache/3.conf
Include /var/site/conf/apache/4.conf
В приведенном выше примере /var/site/conf/apache/4.conf
не существует.
При проверке Apache config, как я могу получить список включений, которые не существуют, и продолжить обработку файлов конфигурации, которые это делают?
Пока у меня есть код ниже, но мне не хватает чего-то, что могло бы сделать эту работу:
_Apache_includes=$(cat /etc/httpd/conf/httpd.conf | grep unique_site_config | cut -f 2 -d " ")
if test -f "$_Apache_includes"; then
$_Apache_includes=$_Apache_does_exist
else
$_Apache_includes=$_Apache_not_existing
fi
echo "$_Apache_does_exist exist"
echo "$_Apache_not_existing does not exist"
for _Config_file_check in $_Apache_includes; do
_Config_domains=$(ls -la $_Apache_does_exist | grep -e ServerName -e ServerAlias | grep -v "#" | sed "s/^[ \t]*//" | cut -f 2 -d " " | grep -v ^$ | sort -u )
_Config_ip=$(getent hosts $_Config_domains | awk '{ print $1 }')
echo "Config File: $_Config_file" - $_Config_domains - $_Config_ip >> /root/server-fixes/audit/domains/domain_list_$_date_now.txt
echo
done
Ожидаемый вывод:
Список отсутствующих файлов Включает в себя:
/ var / site / conf / apache / 4.conf
Список правильно настроенные домены:
Файл конфигурации: /var/unique_site_config/conf/apache/1.conf - example.com - 93.184.216.34
Файл конфигурации: / var / unique_site_config / conf / apache / 1.conf - www.example.com - 93.184.216.34
Файл конфигурации: /var/unique_site_config/conf/apache/2.conf - example2.co m - 173.231.210.103
Файл конфигурации: /var/unique_site_config/conf/apache/3.conf - example3.com - 23.20.239.12