systemd.path uses inotify to watch changes so md-renewed-install.path is only activated on non-shared storage or on same host in shared storage enviroment.
58 lines
1.6 KiB
Bash
Executable File
58 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
MOD_MD_DIR=/var/lib/httpd/md
|
|
MD_RENEWED_DIR=/var/lib/httpd/md-renewed
|
|
|
|
if [[ -f /etc/md-renewed/md-renewed.conf ]]; then
|
|
. /etc/md-renewed/md-renewed.conf
|
|
fi
|
|
|
|
MYDOMAINS=$(curl -s http://127.0.0.1/md-renewed-status | tail -n +1 | jq -r '."managed-domains"[].name' 2>/dev/null)
|
|
|
|
HTTP_RELOAD=n
|
|
|
|
if [ -z $MD_RENEWED_HOST_DIR ]; then
|
|
MD_RENEWED_RENEWED_TARGET=${MD_RENEWED_DIR}/renewed
|
|
MD_RENEWED_INSTALLING_TARGET=${MD_RENEWED_DIR}/installing
|
|
MD_RENEWED_INSTALLED_TARGET=${MD_RENEWED_DIR}/installed
|
|
else
|
|
MD_RENEWED_RENEWED_TARGET=${MD_RENEWED_DIR}/renewed/${MD_RENEWED_HOST_DIR}
|
|
MD_RENEWED_INSTALLING_TARGET=${MD_RENEWED_DIR}/installing/${MD_RENEWED_HOST_DIR}
|
|
MD_RENEWED_INSTALLED_TARGET=${MD_RENEWED_DIR}/installed/${MD_RENEWED_HOST_DIR}
|
|
fi
|
|
|
|
if [[ ! -d $MD_RENEWED_INSTALLING_TARGET ]]; then
|
|
mkdir -p $MD_RENEWED_INSTALLING_TARGET
|
|
chown apache.apache $MD_RENEWED_INSTALLING_TARGET
|
|
fi
|
|
|
|
if [[ ! -d $MD_RENEWED_INSTALLED_TARGET ]]; then
|
|
mkdir -p $MD_RENEWED_INSTALLED_TARGET
|
|
chown apache.apache $MD_RENEWED_INSTALLED_TARGET
|
|
fi
|
|
|
|
echo "md-renewed.service Looking for our domains: ${MYDOMAINS[*]}"
|
|
for f in ${MD_RENEWED_RENEWED_TARGET}/*; do
|
|
if [[ ! -f $f ]]; then
|
|
continue
|
|
fi
|
|
|
|
DOMAIN=$(basename $f)
|
|
rm -f $f
|
|
echo "md-renewed.service Checking domain $DOMAIN"
|
|
|
|
for i in ${MYDOMAINS[@]}; do
|
|
if [[ $DOMAIN == $i ]]; then
|
|
echo "md-renewed.service $DOMAIN is our."
|
|
HTTPD_RELOAD=y
|
|
fi
|
|
done
|
|
done
|
|
|
|
if [[ $HTTPD_RELOAD == y ]]; then
|
|
echo "md-renewed.service Restarting apache."
|
|
sleep $[ ( $RANDOM % 60 ) + 1 ]s
|
|
/usr/bin/systemctl reload httpd
|
|
fi
|
|
|
|
exit 0 |