From c86d4a02e903ec107b118a3db75584859142b26a Mon Sep 17 00:00:00 2001 From: Joao M Date: Mon, 15 Aug 2022 05:23:29 +0000 Subject: [PATCH] Adjusting Cron Jobs --- assets/etc/crontabs/root | 1 - assets/scripts/certbot.sh | 11 ++++++++++- assets/scripts/certbot_to_haproxy.sh | 3 +-- assets/scripts/haproxy-reload.sh | 8 ++++++++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/assets/etc/crontabs/root b/assets/etc/crontabs/root index 4c6f3b0..ed189af 100644 --- a/assets/etc/crontabs/root +++ b/assets/etc/crontabs/root @@ -6,4 +6,3 @@ 0 3 * * 6 run-parts /etc/periodic/weekly 0 5 1 * * run-parts /etc/periodic/monthly * * * * * /scripts/haproxy-reload.sh -*/2 * * * * /scripts/certbot.sh diff --git a/assets/scripts/certbot.sh b/assets/scripts/certbot.sh index d06d298..e8432ea 100755 --- a/assets/scripts/certbot.sh +++ b/assets/scripts/certbot.sh @@ -1,5 +1,12 @@ #!/usr/bin/env bash +# Semaphore +if [ -f /tmp/certbot-lock ]; then + exit 0 +fi + +touch /tmp/certbot-lock + mkdir -p /var/log/letsencrypt ln -sf /dev/stdout /var/log/letsencrypt/letsencrypt.log @@ -33,4 +40,6 @@ fi if [ -n "$RENEW_CERTS" ]; then certbot renew --post-hook "/scripts/certbot_to_haproxy.sh" -fi \ No newline at end of file +fi + +rm /tmp/certbot-lock \ No newline at end of file diff --git a/assets/scripts/certbot_to_haproxy.sh b/assets/scripts/certbot_to_haproxy.sh index d2ea126..f3735da 100755 --- a/assets/scripts/certbot_to_haproxy.sh +++ b/assets/scripts/certbot_to_haproxy.sh @@ -8,5 +8,4 @@ for CERTIFICATE in `find /etc/letsencrypt/live/* -type d`; do cat /etc/letsencrypt/live/$CERTIFICATE/fullchain.pem /etc/letsencrypt/live/$CERTIFICATE/privkey.pem > /etc/haproxy/certs/$CERTIFICATE.pem done -echo "Reloading certificates... " -/usr/sbin/haproxy -W -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -x /var/run/haproxy.sock -sf $(cat /run/haproxy.pid) & +touch /tmp/force-reload \ No newline at end of file diff --git a/assets/scripts/haproxy-reload.sh b/assets/scripts/haproxy-reload.sh index 55e7e27..61bdba6 100755 --- a/assets/scripts/haproxy-reload.sh +++ b/assets/scripts/haproxy-reload.sh @@ -47,6 +47,14 @@ if [[ ! -z "$1" ]]; then RELOAD="false" fi +/scripts/certbot.sh + +# If Certbot reloads successfully will create the file /tmp/force-reload +if [ -f /tmp/force-reload ]; then + RELOAD="true" + rm /tmp/force-reload +fi + if [[ "$RELOAD" == "true" ]]; then echo "Reloading..." /usr/sbin/haproxy -W -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -x /var/run/haproxy.sock -sf $(cat /run/haproxy.pid) &