3.2 KiB
backupME
Voraussetzungen
- minimum Perl > 5.12 erwartet
- die Konsolenprogramme tar und bzip2
- optional für den MySQL Dump das Programm mysqldump
- optional für CleanUp das Programm find
- für das senden an FHEM wird eine passwortlose telnet Instanz benötigt
Alle Abhängikeiten werden vor dem eigentlichen Start geprüft. Die optionalen werden nur bei aktiver Verwendung überprüft.
Anwenden
backupME.pl backupME.conf
Es ist möglich mehrere Konfigurationsdateien an zu legen und backupME zu übergeben.
/usr/local/bin/backupME.pl -c /usr/local/etc/backupME_FHEM.conf
/usr/local/bin/backupME.pl --configs /usr/local/etc/backupME_DOKUWIKI.conf
/usr/local/bin/backupME.pl -c /usr/local/etc/backupME_FHEM.conf,/usr/local/etc/backupME_DOKUWIKI.conf
/usr/local/bin/backupME.pl --configs /usr/local/etc/backupME_FHEM.conf,/usr/local/etc/backupME_DOKUWIKI.conf
/usr/local/bin/backupME.pl --configfiles /usr/local/etc/backupME_FHEM.conf,/usr/local/etc/backupME_DOKUWIKI.conf
Da ein Backup zu meist Abends oder in der Nacht alleine laufen soll/kann, empfehle ich einen Eintrag in der crontab. Also das einrichten eines Cronjobs
Konfiguration
wie soll das Verzeichnis heißen wo die Backups hin geschrieben werden
BACKUPDIRNAME=fhem_backups
Name der Backupdatei
BACKUPFILENAME=fhem_backup
Startverzeichnis wo Daten liegen zum sichern
SOURCEPATH=/opt/fhem/backup
Dateien Komma getrennt welche gesichert werden sollen. Kann auch zum Beispiel mittels *.md oder * fur alles lauten. Muss sich aber unterhalb von SOURCEPATH befinden
FILES_TO_BACKUP=FHEM-"date +%Y%m%d
"*.tar.gz
Verzeichnis unter welches die Backupstruktur aufgebaut werden soll.
BACKUPPATH=/home/marko/Google_Drive_Secure/pi-webapp01_BACKUPS
wie viele Backups sollen aufgehoben werden.
DAILY_DATA_BACKUPS=6
Special Konfiguration
Soll bei nicht vorhanden sein des Backupverzeichnis das Skript abgebrochen werden. Sinnvoll bei encfs oder eingebundenen Netzwerkverzeichnissen. 0 nein 1 ja
SPECIALCHECK_BACKUPPATH=1
# Verzeichnisse oder Dateien unterhalb von SOURCEPATH, welche aufgeräumt werden sollen. Löschen aller Daten älter CLEAN_UP_DAYS Tage. Kommasepariert
CLEAN_UP_PATHS=/*
löschen älter X Tage
CLEAN_UP_DAYS=4
soll das Ergebnis des Backups (ok|error) in ein FHEM Dummy geschrieben werden? 0 nein 1 ja. telnet Instanz muss ohne SSL und Passwort vorhanden sein
FHEMSUPPORT=1
Name des FHEM Dummys für das schreiben des Ergebnisses
FHEMDUMMY=dummyBackupScript
FHEMHOST= TELNETPORT=
MySQL DB Dumps
soll ein MYSQL Dump erstellt werden 0 nein 1 ja
MYSQLDUMP=0
Datenbank User
DBUSER=
Datenbank User Passwort
DBPASS=
Instanzname der Datenbank
DBNAMES=fhemLogHistory
wo soll der Dump hingeschrieben werden
DBBACKUPPATH=/opt/fhem/backup
Konfigurationsbeispiel:
BACKUPDIRNAME=fhem_backups
BACKUPFILENAME=fhem_backup
SOURCEPATH=/opt/fhem/backup
FILES_TO_BACKUP=FHEM-"`date +%Y%m%d`"*.tar.gz
BACKUPPATH=/home/marko/Google_Drive_Secure/pi-webapp01_BACKUPS
DAILY_DATA_BACKUPS=6
SPECIALCHECK_BACKUPPATH=1
CLEAN_UP_PATHS=/opt/fhem/backup/*
CLEAN_UP_DAYS=4
FHEMSUPPORT=1
FHEMDUMMY=dummyBackupScript
MYSQLDUMP=0
DBUSER=
DBPASS=
DBNAMES=fhemLogHistory
DBBACKUPPATH=/opt/fhem/backup