Преглед на файлове

Fix certbot.sh for cronjob; minor changes

dennisro преди 5 години
родител
ревизия
3fdff3288c
променени са 1 файла, в които са добавени 20 реда и са изтрити 6 реда
  1. 20 6
      certbot.sh

+ 20 - 6
certbot.sh

@@ -1,13 +1,27 @@
-#!/usr/bin/env bash
+#!/bin/bash
+
+# example cron job to renew all certs due for renewal every sunday at 10:09pm
+
+# 9 22 * * 0 /bin/bash -c "cd /path/to/dockerbunker && ./certbot.sh"
+
+/bin/date | /usr/bin/tee -a /var/log/certbot.log
 
 # Find base dir
-while true;do ls | grep -q dockerbunker.sh;if [[ $? == 0 ]];then BASE_DIR=$PWD;break;else cd ../;fi;done
+while true;do /bin/ls | /bin/grep -q dockerbunker.sh;if [[ $? == 0 ]];then BASE_DIR=$PWD;break;else cd ../;fi;done
 
-source "${BASE_DIR}"/data/include/init.sh
+. "${BASE_DIR}"/data/include/init.sh
 
-docker run \
-	--rm -it --name=certbot \
+/usr/bin/docker run \
+	--rm --name=certbot \
 	--network dockerbunker-network \
 	-v "${CONF_DIR}"/nginx/ssl/letsencrypt:/etc/letsencrypt \
 	-v "${BASE_DIR}"/data/web:/var/www/html:rw \
-	certbot/certbot renew
+	certbot/certbot renew | /usr/bin/tee -a /var/log/certbot.log
+
+if /usr/bin/docker exec -t nginx-dockerbunker nginx -t | grep -q 'test is successful';then
+	/usr/bin/docker restart nginx-dockerbunker >/dev/null
+	[[ $? == 0 ]] \
+		&& echo "Successfully restarted nginx-dockerbunker" | /usr/bin/tee -a /var/log/certbot.log \
+		|| echo "Restart of nginx-dockerbunker failed" | /usr/bin/tee -a /var/log/certbot.log
+fi
+