-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcertbot-renew.sh
49 lines (41 loc) · 1.21 KB
/
certbot-renew.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
# Log-Datei mit Zeitstempel
LOGFILE="/var/log/certbot-renew.log"
# Funktion zum Loggen mit Zeitstempel
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOGFILE"
}
log "🔄 Starte Certbot-Erneuerung..."
# Stoppe Nginx
log "🛑 Stoppe Nginx-Container..."
if sudo docker container stop nginx-container 2>&1 | tee -a "$LOGFILE"; then
log "✅ Nginx gestoppt."
else
log "❌ Fehler beim Stoppen von Nginx!"
exit 1
fi
# Dry-Run für die Erneuerung
log "🔍 Starte Dry-Run für Zertifikatserneuerung..."
if sudo certbot renew --dry-run 2>&1 | tee -a "$LOGFILE"; then
log "✅ Dry-Run erfolgreich."
else
log "❌ Dry-Run fehlgeschlagen! Siehe Logs für Details."
exit 1
fi
# Zertifikate erneuern
log "🔄 Starte echte Zertifikatserneuerung..."
if sudo certbot renew 2>&1 | tee -a "$LOGFILE"; then
log "✅ Zertifikate erneuert."
else
log "❌ Erneuerung fehlgeschlagen! Siehe Logs."
exit 1
fi
# Starte Nginx neu
log "🚀 Starte Nginx-Container..."
if sudo docker container start nginx-container 2>&1 | tee -a "$LOGFILE"; then
log "✅ Nginx erfolgreich gestartet."
else
log "❌ Fehler beim Starten von Nginx!"
exit 1
fi
log "🎉 Erneuerung abgeschlossen."