[ANLEITUNG] User Script für PiHole Teleporter (Config Backup) per SSH


Recommended Posts

Hier ein kurzer Guide um über ein einfaches User Script von Unraid aus die Konfiguration eures Pihole zu sichern.

 

Hierzu wird per SSH eine Verbindung zu Pihole aufgenommen, der Teleporter (Backup Erstellung) gestartet und das Backup per SCP auf den Unraid-Server übertragen. Danach wird das Übertragene Backup am Pihole und alte Backups auf dem Unraid-Server gelöscht.

 

Da ich, abgesehen von meinem letzten Guide, recht unerfahren mit Unraid, Termina, Linux, SSH, Scripte, etc... bin, bitte ich Fehler zu entschuldigen.

Für Ergänzungen/Verbesserungen bin offen und dankbar!

 

----

 

-Backup Share als Ziel einrichten.

Falls mehrere Pi's gesichert werden sollen, empfehle ich für jeden Pi einen eigenen Unterordner im Share zu erstellen.

 

 

-Unterordner im Share erstellen:

Im Unraid Terminal folgenden Befehl ausführen

mkdir -p /mnt/user/DEIN-BACKUP-SHARE/PIHOLE-BACKUP

 

 

-sshpass downloaden, /extra/ Ordner auf dem Stick erstellen, sshpass in den Ordner /extra/ verschieben und sshpass installieren:

Im Unraid Terminal folgenden Code ausführen.

wget https://packages.slackonly.com/pub/packages/14.2-x86_64/network/sshpass/sshpass-1.06-x86_64-1_slonly.txz && mkdir /boot/extra && mv sshpass-1.06-x86_64-1_slonly.txz /boot/extra/ && installpkg /boot/extra/sshpass-1.06-x86_64-1_slonly.txz

Dadruch dass wir das sshpass im /extra/ Ordner des Unraid Sticks liegen haben, wird sshpass mit jedem Unraid Start installiert.

Wer das "Fix Common Problems" Plugin nutzt, wird nun eine Meldung bekommen, diese kann man mit dem Button rechts ignorieren:

image.png

 

 

-User Script Plugin installieren:image.png

 

 

-User Script Plugin aufrufen und neue User Script erstellen:

image.png

 

 

-Script ins leere Feld kopieren und Variablen anpassen:

#!/bin/bash


#Variablen
PI_IP="XXX.XXX.XXX.XXX"
SSH_USER="PI-USER"
SSH_PW="DEIN-SUPER-PASSWORT-VOM-PI-USER"
BACKUP_PFAD="/mnt/user/DEIN-BACKUP-SHARE/PIHOLE-BACKUP" #ohne / am Ende
BACKUP_ANZAHL="30"


#Backup erstellen
sshpass -p ${SSH_PW} ssh ${SSH_USER}@${PI_IP} sudo "pihole -a teleporter"

#Backup von Pi nach BACKUP_PFAD kopieren
sshpass -p ${SSH_PW} scp -r ${SSH_USER}@${PI_IP}:pi-hole-*.tar.gz ${BACKUP_PFAD}/

#Backup am Pi löschen
sshpass -p ${SSH_PW} ssh ${SSH_USER}@${PI_IP} rm -f pi-hole-*.tar.gz

#Alte Backups löschen
pushd ${BACKUP_PFAD}; ls -tr ${BACKUP_PFAD}/pi-hole*.* | head -n -${BACKUP_ANZAHL} | xargs rm; popd

sync -f ${BACKUP_PFAD}

Im falle von Raspberry Pi OS sollte der User "Pi" sein. Das Passwort habt ihr bei der Installation von Raspberry Pi OS selbst festgelegt.

Am Ende der Variablen BACKUP_PFAD darf kein "/" gesetzte sein, da dieses schon im Code enthalten ist.

 

 

 

-Script mit dem "SAVE CHANGES" Button abspeichern.

 

 

-Cron anpassen:

image.thumb.png.ce56e81de36c4744cd7e674910c76567.png

In meinem Beispiel läuft das Script zur 0. Minute in der 23. Stunde an jedem Tag, jeden Monat, an egal welchem Wochentag.

Oder kurz: jeden Tag um 23:00 Uhr.

Hilfe zu Cron: https://crontab.guru/

 

 

-Einstellungen unten mit dem Button "APPLY" sichern.

 

 

Vielen Dank schon einmal im Voraus an alle die das Script nutzen!

 

 

 

*CHANGELOG*

 

 

Edited by sonic6
Link to comment
  • sonic6 changed the title to [ANLEITUNG] User Script für PiHole Teleporter (Config Backup) per SSH

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.