get_sites_with_external_nameservers.sh: add support for 'omitted site names'.

This commit is contained in:
Christoph 2021-02-14 12:06:52 +01:00
parent f8a938d365
commit 79be6eae5a
2 changed files with 79 additions and 5 deletions

View File

@ -13,3 +13,16 @@
#
#INTERNAL_NS_SERVER=""
# OMITTED_SITE_NAMES
#
# site names containing one of the given omitted names will not be recognized
#
# Example:
# OMITTED_SITE_NAMES="
# warenform.de
# warenform.org
# "
# Blank separated list of nameservers
#
#OMITTED_SITE_NAMES=""

View File

@ -22,6 +22,7 @@ DEFAULT_HTTP_USER="www-data"
DEFAULT_HTTP_GROUP="www-data"
declare -a site_names_arr
declare -a omitted_site_names_arr
declare -a sites_external_ns_servers
declare -a internal_ns_server_arr
@ -222,6 +223,11 @@ fi
[[ -z "$INTERNAL_NS_SERVER" ]] && NEED_INTERNAL_NAME_SERVER=true
if [[ -n "$OMITTED_SITE_NAMES" ]] ; then
for _site_name in $OMITTED_SITE_NAMES ; do
omitted_site_names_arr+=("$_site_name")
done
fi
@ -495,7 +501,21 @@ if $terminal ; then
fi
done
else
echo -e "\033[4GList of nameservers..............: \033[33m-- Not given --\033[m"
echo -e "\033[4GList of omitted site names.......: \033[33m-- Not given --\033[m"
fi
echo ""
if [[ ${#omitted_site_names_arr[@]} -gt 0 ]] ; then
_first=true
for _site_name in ${omitted_site_names_arr[@]} ; do
if $_first ; then
echo -e "\033[4GList of omitted site names.......: $_site_name"
_first=false
else
echo -e "\033[39G$_site_name"
fi
done
else
echo -e "\033[4GList of omitted site names.......: \033[33m-- Not given --\033[m"
fi
else
@ -552,7 +572,21 @@ else
fi
done
else
echo " List of nameservers..............: -- Not given --"
echo " List of omitted site names.......: -- Not given --"
fi
echo ""
if [[ ${#omitted_site_names_arr[@]} -gt 0 ]] ; then
_first=true
for _site_name in ${omitted_site_names_arr[@]} ; do
if $_first ; then
echo " List of omitted site names.......: $_site_name"
_first=false
else
echo "\033[39G$_site_name"
fi
done
else
echo " List of omitted site names.......: \033[33m-- Not given --\033[m"
fi
@ -635,12 +669,21 @@ if [[ ${#vhost_config_files_arr[@]} -gt 0 ]]; then
done < "$_config_file"
# Check if all site_names are hosted on O.OPEN Namesevers
# Check if all site_names are hosted on your (the given) namesevers
#
for _site_name in "${site_names_arr[@]}" ; do
[[ "$_site_name" =~ \.\* ]] && continue
_found_omitted=false
if [[ ${#omitted_site_names_arr[@]} -gt 0 ]]; then
for _omitted_name in ${omitted_site_names_arr[@]} ; do
[[ "$_site_name" =~ $_omitted_name ]] && _found_omitted=true
break
done
$_found_omitted && continue
fi
_name="$_site_name"
@ -651,6 +694,10 @@ if [[ ${#vhost_config_files_arr[@]} -gt 0 ]]; then
while [[ -z "$authorited_ns_servers" ]] ; do
_name="${_name#*.}"
authorited_ns_servers="$(dig +short $_name NS)"
if [[ ! "$_name" =~ \. ]]; then
error "Cannot detect authoritativ nameserver for \033[1m$_site_name\033[m"
break
fi
done
_found=false
@ -707,22 +754,36 @@ if [[ ${#sites_external_ns_servers[@]} -gt 0 ]] ; then
fi
_first=true
for _val in "${sites_external_ns_servers[@]}" ; do
IFS=':' read -a _val_arr <<< "${_val}"
config_file="${_val_arr[0]}"
site_name="${_val_arr[1]}"
names_server="${_val_arr[2]}"
if [[ "${config_file}" != "${last_config_file}" ]] ; then
echo ""
_first=true
if $terminal ; then
echo ""
echo ""
echo -e "\033[4G\033[33m$(basename "${config_file}")\033[m"
else
echo ""
echo ""
echo " $(basename "${config_file}")"
fi
last_config_file="${config_file}"
fi
if $terminal ; then
echo -e "\033[7G${site_name}:\033[45G${names_server}"
if $_first ; then
_first=false
else
echo ""
fi
echo -en "\033[7G${site_name}:"
IFS=',' read -ra _ns_name_arr <<< "$names_server"
for _ns_name in "${_ns_name_arr[@]}" ; do
echo -e "\033[45G${_ns_name}"
done
else
echo -e " ${site_name}: ${names_server}"
fi