mirror of https://github.com/Zelo72/rpi
54 lines
2.1 KiB
Bash
Executable File
54 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script: updateUnboundRootHints.sh - https://github.com/Zelo72/rpi (/unbound/)
|
|
#
|
|
# Beschreibung: Aktualisiert die Unbound root.hints (Rootserver) von internic.net. Das Script sollte
|
|
# monatlich ausgeführt werden.
|
|
#
|
|
# Aufruf: sudo ./updateUnboundRootHints.sh
|
|
#
|
|
# Ausgabedateien: /var/log/updateUnboundRootHints.sh.log --> Logfile
|
|
# /var/log/updateUnboundRootHints.cron.log --> logfile cron job
|
|
#
|
|
# Installation: 1. Script downloaden:
|
|
# wget -N https://raw.githubusercontent.com/Zelo72/rpi/master/unbound/updateUnboundRootHints.sh
|
|
# 2. Script mittels sudo chmod +x updateUnboundRootHints.sh ausführbar machen.
|
|
#
|
|
# Installation: 1. Script mittels sudo cp updateUnboundRootHints.sh /root nach /root kopieren.
|
|
# (als Cron-Job) 2. Script mittels sudo chmod +x /root/updateUnboundRootHints.sh ausfuehrbar machen.
|
|
# 3. Cron-Job mit sudo crontab -e erstellen
|
|
# Am Ende der Datei z.B. folgendes einfuegen um das Script monatlich am 1.
|
|
# um 04:00 Uhr auszuführen:
|
|
#
|
|
# 0 4 1 * * /root/updateUnboundRootHints.sh > /var/log/updateUnboundRootHints.cron.log 2>&1
|
|
#
|
|
# 4. Datei speichern und schliessen. (im nano Editor: Strg+o/Enter/Strg+x).
|
|
|
|
# Prüfen ob das Script als root ausgefuehrt wird
|
|
if [ "$(id -u)" != "0" ]; then
|
|
echo "Das Script muss mit Rootrechten ausgeführt werden!"
|
|
exit 1
|
|
fi
|
|
|
|
# Logging initialisieren
|
|
logDir=/var/log/
|
|
log=$logDir/updateUnboundRootHints.sh.log
|
|
if test -f "$log"; then rm "$log"; fi
|
|
|
|
# Hilfsfunktion zum loggen
|
|
writeLog() {
|
|
echo -e "[$(date +'%Y.%m.%d-%H:%M:%S')]" "$*" | tee -a "$log"
|
|
}
|
|
writeLog "[I] Start | Logfile: $log"
|
|
|
|
writeLog "[I] Hole named.root (Rootserver) von internic.net ..."
|
|
wget -O /var/lib/unbound/root.hints https://www.internic.net/domain/named.root
|
|
if [[ $? -ne 0 ]]; then
|
|
writeLog "[E] named.root von internic.net konnte nicht heruntergeladen werden!"
|
|
exit 1
|
|
fi
|
|
|
|
writeLog "[I] Starte den Unbound Service neu ..."
|
|
/usr/sbin/service unbound restart
|
|
writeLog "[I] Ende | Logfile: $log"
|