Steenderen.NET

Domoticz auto-backup naar FTP – Versie 1.1

Status: Verouderd, versie 1.2 is beschikbaar.

Beschrijving

Script voor het automatisch maken van een backup van Domoticz en het wegschrijven hiervan naar een FTP-locatie.

Persoonlijk heb ik dit script op m’n Raspberry Pi opgeslagen als /scripts/domoticz_backup/backup.sh en staat dit script dagelijks gescheduled via een cronjob rond twaalf uur ’s nachts.

Update

Verbeterde versie van het originele script. Wegschrijven van backup-bestanden op de FTP-locatie gebeurt nu in één commando i.p.v. drie, waardoor er ook maar één keer wordt ingelogd (iedere backup leverde drie inlogacties op in het logboek van m’n NAS).

Code

#!/bin/bash

# LOCAL/FTP/SCP/MAIL PARAMETERS
SERVER=""               # IP-adres:Port van je FTP server
USERNAME=""             # Gebruikersnaam voor FTP
PASSWORD=""             # Wachtwoord voor FTP
DESTDIRNAS=""           # Locatie op je FTP voor de Backup
DOMO_IP=""              # IP adres van je Domoticz server
DOMO_PORT=""            # Poort van je Domoticz server

#### END OF USER CONFIGURABLE PARAMETERS
TIMESTAMP=`/bin/date +%Y%m%d%H%M%S`
BACKUPFILE="domoticz_$TIMESTAMP.db" # backups will be named "domoticz_YYYYMMDDHHMMSS.db.gz"
BACKUPFILEGZ="$BACKUPFILE".gz

#### Create backup and ZIP it
/usr/bin/curl -s http://$DOMO_IP:$DOMO_PORT/backupdatabase.php > /tmp/$BACKUPFILE
gzip -9 /tmp/$BACKUPFILE
tar -zcvf /tmp/domoticz_scripts_$TIMESTAMP.tar.gz /home/pi/domoticz/scripts/
tar -zcvf /tmp/telegram_scripts_$TIMESTAMP.tar.gz /home/pi/tg/scripts/

#### Send to Network disk through FTP
curl -s --disable-epsv -v -T "{/tmp/$BACKUPFILEGZ,/tmp/domoticz_scripts_$TIMESTAMP.tar.gz,/tmp/telegram_scripts_$TIMESTAMP.tar.gz}" -u "$USERNAME:$PASSWORD" "ftp://$SERVER/$DESTDIRNAS"
 
### Remove temp backup file
/bin/rm /tmp/$BACKUPFILEGZ
/bin/rm /tmp/domoticz_scripts_$TIMESTAMP.tar.gz
/bin/rm /tmp/telegram_scripts_$TIMESTAMP.tar.gz
 
### Done!

Verder Bericht

Vorige Bericht

5 Reacties

  1. C. ten Berge 2 november 2020

    hallo Jos,
    ik heb vandaag jouw nieuwe versie toegepast en het werkt uitstekend.
    Dank je.

  2. C. ten Berge 2 november 2020

    hallo Jos,

    zojuist ge”post” dat de backup goed werkt, en dat lijkt ook zo, maar er is één item die niet goed gaat. Dat is de crontab, die file blijft leeg en heeft een lengte 0 (nul).
    Ik heb nog even getest met crontab -l > crontab.txt op de commandline, en dat werkt wel. (home directory)
    De overige twee files zijn wel in orde.

    • jos 2 november 2020 — Berichtauteur

      Hallo Carel, moet ik even induiken, dankjewel voor het melden!

    • jos 2 november 2020 — Berichtauteur

      Heb je toevallig iets gedaan met verschillende users? Standaard zou namelijk de crontab gebruik moeten maken van de user waarop je deze ook hebt ingesteld. En dus zou die ook netjes de crontab van die user moeten uitdraaien en backuppen. Ik heb voor mijzelf in ieder geval niets speciaals ingesteld staan.

      • C. ten Berge 13 november 2020

        hallo Jos, sorry voor de late reactie. was nogal bezig.
        Ik heb alleen de standaard user, pi, in gebruik.

Laat een reactie achter

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

© 2021 Steenderen.NET

Thema door Anders Norén