bunkerweb/scripts/certbot-renew.sh
2020-03-30 22:10:53 +02:00

32 lines
800 B
Bash

#!/bin/sh
function replace_in_file() {
# escape slashes
pattern=$(echo "$2" | sed "s/\//\\\\\//g")
replace=$(echo "$3" | sed "s/\//\\\\\//g")
sed -i "s/$pattern/$replace/g" "$1"
}
# check if HTTP enabled
# and disable it temporarily if needed
if grep -q "listen 0.0.0.0:80;" "/etc/nginx/server.conf" ; then
replace_in_file "/etc/nginx/server.conf" "listen 0.0.0.0:80;" "#listen 0.0.0.0:80;"
if [ -f /run/nginx/nginx.pid ] ; then
/usr/sbin/nginx -s reload
sleep 10
fi
fi
# ask a new certificate if needed
certbot renew
# enable HTTP again if needed
if grep -q "#listen 0.0.0.0:80;" "/etc/nginx/server.conf" ; then
replace_in_file "/etc/nginx/server.conf" "#listen 0.0.0.0:80;" "listen 0.0.0.0:80;"
fi
# reload nginx
if [ -f /run/nginx/nginx.pid ] ; then
/usr/sbin/nginx -s reload
fi