Script: lighttpd stop und start macht Probleme

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Script: lighttpd stop und start macht Probleme

Beitrag von _ash » 01.02.2017 15:00:36

Ich habe ein Skript, das einmal monatlich per Cronjob auf meinem Server (Debian stable) läuft, um meine Letsencrypt SSL-Zertifikate zu erneuern. Das Problem: lighttpd stopt manchmal nicht, daher habe ich bereits ein killall eingebaut, jetzt habe ich das Problem, dass lighttpd am Ende des Vorgangs nicht wieder startet.Sieht jemand den Fehler?

Code: Alles auswählen

#!/bin/sh
LETSENCRYPT=$(which certbot)
SWAKS=$(which swaks)
CAT=$(which cat)

service lighttpd stop
killall lighttpd

if ! $LETSENCRYPT renew --config /etc/letsencrypt/cli.ini > /var/log/letsencrypt/renew.log 2>&1 ; then

#    $BODY = $CAT /var/log/letsencrypt/renew.log
    $SWAKS -t "meine@email.de" --header "Subject: SSL renewal failed" --body $BODY
    #echo Automated renewal failed:
    #cat /var/log/letsencrypt/renew.log
    exit 1
fi

# create pem for lighttpd
$CAT /etc/letsencrypt/live/cloud.meinedomain.de/privkey.pem /etc/letsencrypt/live/meine.domain.de/cert.pem > /etc/letsencrypt/live/meine.domain.de/ssl.pem

$CAT /etc/letsencrypt/live/meine.domain2.de/privkey.pem /etc/letsencrypt/live/webmail.meinedomain.de/cert.pem > /etc/letsencrypt/live/meine.domain2.de/webmail_ssl.pem

$CAT /etc/letsencrypt/live/meine.domain3.de/privkey.pem /etc/letsencrypt/live/mail.meinedomain.de/cert.pem > /etc/letsencrypt/live/meine.domain3.de/mail.ssl.pem


$SWAKS -t "meine@email.de" --header "Subject: SSL renewal successful"

service lighttpd start
Zuletzt geändert von TRex am 01.02.2017 21:35:54, insgesamt 1-mal geändert.
Grund: Zensursula

Benutzeravatar
cosinus
Beiträge: 3410
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: Script: lighttpd stop und start macht Probleme

Beitrag von cosinus » 01.02.2017 15:39:28

Reicht dafür denn kein reload? Beim apache2 soll es zumindest gehen vgl http://stackoverflow.com/questions/3831 ... ithout-res :)

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Script: lighttpd stop und start macht Probleme

Beitrag von inne » 01.02.2017 15:51:10

Wenn dein Skript duchläuft bis service lighttpd start s. set -x und keine Fehlermeldung wirft. Dann würde ich mal ins Log schauen.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Script: lighttpd stop und start macht Probleme

Beitrag von rendegast » 01.02.2017 15:52:13

Ich nehme jetzt mal an, es ist ein sysv-System.
Du könntest alternativ zum 'service ...' mal probieren

Code: Alles auswählen

/etc/init.d/lighttpd stop
/etc/init.d/lighttpd start



------------------------------------------------
CAT=$(which cat)
$CAT ....
benutzt das externe cat.
Einfach nur 'cat' würde das (schnellere) cat der Shell benutzen.

# create pem for lighttpd
...
würde ich derart

Code: Alles auswählen

LIST="
cloud.meinedomain.de   meine.domain.de          meine.domain.de/ssl.pem
meine.domain2.de       webmail.meinedomain.de   meine.domain2.de/webmail_ssl.pem
meine.domain3.de       mail.meinedomain.de      meine.domain3.de/mail.ssl.pem
"
cd /etc/letsencrypt/live && echo "$LIST" | egrep -v "^$" | while read EINZ ZWEI TGT; do
    cat $EINZ/privkey.pem $ZWEI/cert.pem > $TGT
done
(Das mit dem Zeilen-echo und dem entfernenden egrep,
damit in der Liste jede beliebige Zeile schnell ausgetauscht oder hinzugefügt werden kann)



EDIT obige Domainliste an die Moderatoränderung im ersten Post angeglichen.
Zuletzt geändert von rendegast am 01.02.2017 23:46:24, insgesamt 2-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten