handle_domain_on_webserver.sh: add support for cleaning up dehydrated's domains.txt file.
This commit is contained in:
parent
974f244ca7
commit
c635dedc3a
@ -508,6 +508,10 @@ declare -a vhost_file_req_for_del_arr
|
|||||||
declare -a vhost_file_marked_for_del_arr
|
declare -a vhost_file_marked_for_del_arr
|
||||||
declare -a no_vhost_config_found
|
declare -a no_vhost_config_found
|
||||||
|
|
||||||
|
declare -a dehydrated_name_marked_for_del_arr
|
||||||
|
declare -a dehydrated_name_req_for_del_arr
|
||||||
|
dehydrated_domains_file="/var/lib/dehydrated/domains.txt"
|
||||||
|
|
||||||
declare -a docroot_req_for_del_arr
|
declare -a docroot_req_for_del_arr
|
||||||
declare -a docroot_marked_for_del_arr
|
declare -a docroot_marked_for_del_arr
|
||||||
|
|
||||||
@ -1303,6 +1307,16 @@ for _vhost_file in ${vhost_file_req_for_del_arr[@]}; do
|
|||||||
done
|
done
|
||||||
if ! $_found ; then
|
if ! $_found ; then
|
||||||
vhost_file_marked_for_del_arr+=("$_vhost_file")
|
vhost_file_marked_for_del_arr+=("$_vhost_file")
|
||||||
|
_dehydrated_name="$(grep ServerName $(realpath ${apache_vhost_dir})/$_vhost_file | awk '{print$2}' | sort -u)"
|
||||||
|
echo ""
|
||||||
|
echo "$_vhost_file - $dehydrated_domains_file - $_dehydrated_name"
|
||||||
|
echo ""
|
||||||
|
if [[ -n "$_dehydrated_name" ]] \
|
||||||
|
&& grep -q -E "^\s*$_dehydrated_name" $dehydrated_domains_file 2> /dev/null ; then
|
||||||
|
if ! containsElement "$_dehydrated_name" "${dehydrated_name_req_for_del_arr[@]}" ; then
|
||||||
|
dehydrated_name_req_for_del_arr+=("$_dehydrated_name")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -1331,6 +1345,19 @@ else
|
|||||||
echo -e " *** \033[33mNo VHost configuration files are marked for deletion\033[m ***"
|
echo -e " *** \033[33mNo VHost configuration files are marked for deletion\033[m ***"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# - Entier in dehydrated domains file marked for deletion"
|
||||||
|
# -
|
||||||
|
echo ""
|
||||||
|
echo " Entries in dehydrated's domain.txt file requested for deletion"
|
||||||
|
if [[ ${#dehydrated_name_req_for_del_arr[@]} -gt 0 ]]; then
|
||||||
|
for _domain_entry in ${dehydrated_name_req_for_del_arr[@]} ; do
|
||||||
|
echo " $_domain_entry"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo -e " *** \033[33mNo domain entry in dehydrated's domain file is requested for deletion\033[m ***"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# -----
|
# -----
|
||||||
# - Warn about VHost configurtion files not be marked for deletion.
|
# - Warn about VHost configurtion files not be marked for deletion.
|
||||||
# -----
|
# -----
|
||||||
@ -1697,6 +1724,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
apache_needs_restart=false
|
apache_needs_restart=false
|
||||||
|
delete_vhost_file=false
|
||||||
|
|
||||||
if [[ ${#vhost_file_marked_for_del_arr[@]} -gt 0 ]]; then
|
if [[ ${#vhost_file_marked_for_del_arr[@]} -gt 0 ]]; then
|
||||||
echo ""
|
echo ""
|
||||||
@ -1815,9 +1843,15 @@ if [[ ${#vhost_file_marked_for_del_arr[@]} -gt 0 ]]; then
|
|||||||
echo "# -" >> $main_log
|
echo "# -" >> $main_log
|
||||||
echo "mv \"$_vhost_file_to_move\" \"$_delete_dir\"" >> $main_log
|
echo "mv \"$_vhost_file_to_move\" \"$_delete_dir\"" >> $main_log
|
||||||
echononl " Removing VHost configuration \033[1m$(basename $_vhost_file_to_move)\033[m"
|
echononl " Removing VHost configuration \033[1m$(basename $_vhost_file_to_move)\033[m"
|
||||||
|
_dehydrated_name="$(grep ServerName $_vhost_file_to_move | awk '{print$2}' | sort -u)"
|
||||||
mv "$_vhost_file_to_move" "$_delete_dir" > $tmp_log_file 2>&1
|
mv "$_vhost_file_to_move" "$_delete_dir" > $tmp_log_file 2>&1
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
echo_ok
|
echo_ok
|
||||||
|
if containsElement "$_dehydrated_name" "${dehydrated_name_req_for_del_arr[@]}" ; then
|
||||||
|
if ! containsElement "$_dehydrated_name" "${dehydrated_name_marked_for_del_arr[@]}" ; then
|
||||||
|
dehydrated_name_marked_for_del_arr+=("$_dehydrated_name")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo_failed
|
echo_failed
|
||||||
error "$(cat $tmp_log_file)"
|
error "$(cat $tmp_log_file)"
|
||||||
@ -1836,6 +1870,76 @@ else
|
|||||||
echo -e "\033[32m------\033[m"
|
echo -e "\033[32m------\033[m"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ ${#dehydrated_name_marked_for_del_arr[@]} -gt 0 ]]; then
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m------\033[m"
|
||||||
|
echo -e "Remove Entries from dehydrated's domains.txt file?"
|
||||||
|
echo -e "\033[32m------\033[m"
|
||||||
|
|
||||||
|
for _dehydrated_enty in ${dehydrated_name_marked_for_del_arr[@]} ; do
|
||||||
|
echo " $_dehydrated_enty"
|
||||||
|
done
|
||||||
|
|
||||||
|
OK=""
|
||||||
|
echo ""
|
||||||
|
echo "Type 'y' to continue 'n' or any other key to skip removal for domain entries"
|
||||||
|
echo
|
||||||
|
echo -e -n "\033[1mContinue removing concerning entries from dehydrated's domains.txt file [y/n]:\033[m "
|
||||||
|
read OK
|
||||||
|
while [[ "X${OK}X" = "XX" ]] ; do
|
||||||
|
echo ""
|
||||||
|
echo -e -n "\033[1mContinue removing concerning entries from dehydrated's domains.txt file [y/n]:\033[m "
|
||||||
|
read OK
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "${OK,,}" = 'yes' ]] || [[ "${OK,,}" = 'y' ]]; then
|
||||||
|
|
||||||
|
echononl " Backup existing domains.txt file"
|
||||||
|
if [[ -d "$apache_vhost_base_dir" ]]; then
|
||||||
|
|
||||||
|
echo "" >> $main_log
|
||||||
|
echo "# - Backup existing domains.txt file" >> $main_log
|
||||||
|
echo "# -" >> $main_log
|
||||||
|
echo "cp -a \"$dehydrated_domains_file" "${dehydrated_domains_file}.$backup_date\"" >> $main_log
|
||||||
|
|
||||||
|
cp -a "$dehydrated_domains_file" "${dehydrated_domains_file}.$backup_date" > $tmp_log_file 2>&1
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat $tmp_log_file)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo_skipped
|
||||||
|
fi
|
||||||
|
|
||||||
|
for _dehydrated_enty in ${dehydrated_name_marked_for_del_arr[@]} ; do
|
||||||
|
|
||||||
|
echo "# - Removing '$_dehydrated_enty' from dehydrated's domains.txt file." >> $main_log
|
||||||
|
echo "# -" >> $main_log
|
||||||
|
echo "sed -i \"/$_dehydrated_enty/d\" $dehydrated_domains_file" >> $main_log
|
||||||
|
|
||||||
|
echononl " Removing \033[1m$_dehydrated_enty\033[m from dehydrated's domains.txt file."
|
||||||
|
sed -i "/$_dehydrated_enty/d" $dehydrated_domains_file > $tmp_log_file 2>&1
|
||||||
|
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat $tmp_log_file)"
|
||||||
|
echo "Error: $(cat $tmp_log_file)" >> $main_log
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[32m------\033[m"
|
||||||
|
echo -e "*** \033[33mNo domain entry in dehydrated's domain file is marked for deletion\033[m ***"
|
||||||
|
echo -e "\033[32m------\033[m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user