Im letzten Beitrag wurde alle notwendige shell scripts geschrieben und die Berechtigungen für ihre Ausführung sind konfiguriert. Es bleibt nur noch die Automatisierung dieses Prozesses.
Weil der Befehl für certbot-auto die root-Berechtigung fordert, muss cron mit sudo geführt werden. (Ich gehe hier davon aus, dass man hier nicht als root-user arbeitet.)
$ sudo crontab -e
Dadurch, dass der Befehl mit sudo aufgerufen wird, werden die in crontab aufgelisteten Befehle immer mit sudo ausgeführt.
In der Tabelle trägt man den shell script-Befehl wie folgt:
00 5 1,15 * * /path/to/shell script/createKey_and_restart_sample.sh
Bei default sudo-Einstellung bekommt dieser cron-Befehl ein Problem, weil bei einer sudo-Ausführung das Passwort des users im Terminal verlangt wird. Daher muss die sudo-Einstellung geändert werden.
$ sudo visudo
Mit visudo geht man in die sudo-Einstellung. Dann fügt man die folgenden zwei Zeilen hinzu:
Defaults:[user-Name] !requiretty
[user-Name] ALL=(ALL) NOPASSWD: /path/to/shell script/createKey_and_restart_sample.sh
So kann allein der hier eingetragene user ohne Terminal («tty») den Befehl «[…]/createKey_and_restart_sample.sh» ohne Passwort ausführen.
Jetzt sollte die Automatisierung fertig sein…