FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: pi-user am 22 März 2016, 14:38:40

Titel: Backup automatisch ausführen!?!
Beitrag von: pi-user am 22 März 2016, 14:38:40
Hallo zusammen,

ich möchte sehr gerne automatisch Fhem-Backups erzeugen, aber es funktioniert leider nicht. Ich habe folgendes Probiert:

define NTFY_BackupRun at *23:59:00 set SYS_Backup Ausführen
attr NTFY_BackupRun room Server


Woran liegt es, dass es nicht ausgeführt wird? Was ist mit dem room Server? Muss man vorher den Raum Server anlegen oder ist es egal, wie der room heißt?

Vielen Dank für die Hilfe.
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: accessburn am 22 März 2016, 14:40:07
Huhu,

ich hatte damals das da nachgebaut, und funktioniert ausgezeichnet:
http://www.meintechblog.de/2015/05/fhem-howto-automatisches-backup-auf-externem-nas/ (http://www.meintechblog.de/2015/05/fhem-howto-automatisches-backup-auf-externem-nas/)
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: kumue am 22 März 2016, 14:46:58
Zitat von: pi-user am 22 März 2016, 14:38:40
Hallo zusammen,

ich möchte sehr gerne automatisch Fhem-Backups erzeugen, aber es funktioniert leider nicht. Ich habe folgendes Probiert:

define NTFY_BackupRun at *23:59:00 set SYS_Backup Ausführen
attr NTFY_BackupRun room Server


Woran liegt es, dass es nicht ausgeführt wird? Was ist mit dem room Server? Muss man vorher den Raum Server anlegen oder ist es egal, wie der room heißt?

Vielen Dank für die Hilfe.

Den Code hast Du wie ich gesehen habe aus dem Wiki..
http://www.fhemwiki.de/wiki/Backup (http://www.fhemwiki.de/wiki/Backup)

Hast Du auch den restlichen Code aus dem manuellen Abschnitt eingetragen und die 99_myUtils.pm angepasst ?
Und die 99_myUtils.pm auch neu geladen?
fhem> reload 99_myUtils

Der Room hat auf die Funktionalität keinen Einfluss.
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 09:43:21
Hallo accessburn,

ich finde den Link ziemlich interessant, aber dort werden die Backups auf einem externen NAS-Gerät gesichert. Ich habe schon im Vorfeld eine Freigabe auf meinem Fhem-Server eingebunden. Ich weiß nicht, wie ich das Backupskript anpassen muss, damit ich die Backups in meiner vorhandenen Freigabe sichern kann!
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 09:46:51
Hallo kumue,

das ist richtig. Ich habe es aus dem Wiki.

>Hast Du auch den restlichen Code aus dem manuellen Abschnitt eingetragen und die 99_myUtils.pm angepasst ?
Nein! Ich dachte, dass ich nur den automatischen Abschnitt benötige! Wenn es so ist, dann werde ich auch den manuellen Abschnitt übernehmen.

Wird das Wort "Ausführen" wirklich interpretiert?

define NTFY_BackupRun at *23:59:00 set SYS_Backup Ausführen
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: kumue am 23 März 2016, 11:03:37
Zitat von: pi-user am 23 März 2016, 09:46:51
Wird das Wort "Ausführen" wirklich interpretiert?

Kannst statt "Ausführen" auch einen anderen Begriff wählen..
Das at setzt um 23:59:00 den Dummy auf den von Dir gewählen Begriff, das notify wird dadurch aktiv und das Backup rennt los...

Du kannst das Backup auch manuell starten. Dafür auf der Weboberfäche auf das "Ausführen" beim Dummy klicken..
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 12:21:26
Danke. Zurzeit wird um 23:59:00 kein Backup gezogen, da ich den manuellen Abschnitt noch nicht eingetragen habe. Ich dachte, dass ich den manuellen Abschnitt nicht benötige, da das Wort manuell mich irritiert hat!?!
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 12:31:45
Wie kann ich 99_myUtils.pm anpassen? Wo befindet sich die Datei 99_myUtils.pm?

Wiki:

Der folgende Code ist in die Datei 99_myUtils.pm einzuarbeiten

#########################################################################
## Funktion......: FHEM Backup
## Besonderheiten: Anzeige der vorhandenen Backups im dummy
#########################################################################
SYS_Backup:* {
fhem("backup");;
opendir DIR, "Hier_den_Pfad_zu_Eurem_Backupverzeichnis" or die $!;;
my $mybackups = "";;
while(my $file = readdir DIR){
  next if($file eq "." || $file eq "..");;
  $mybackups = $mybackups."$file
";;
}
closedir DIR;;
fhem("set SYS_Backup ".$mybackups);;
}
#########################################################################
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: marvin78 am 23 März 2016, 12:34:28
Unter Edit files. Kanns ein, dass du sie anlegen musst. Es gibt ein Template und in der commandref findest du die Doku. Und ein wenig mit FHEM befassen wäre prima.
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: Benni am 23 März 2016, 12:36:54
Zitat von: pi-user am 23 März 2016, 12:31:45
Wie kann ich 99_myUtils.pm anpassen? Wo befindet sich die Datei 99_myUtils.pm?

Auch dazu findet sich im Wiki was ;)

http://www.fhemwiki.de/wiki/99_myUtils_anlegen (http://www.fhemwiki.de/wiki/99_myUtils_anlegen)
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 12:53:01
Danke. Ich bekomme folgende Meldung beim Speichern der Datei 99_myUtils.pm:

syntax error at ./FHEM/99_myUtils.pm line 38, near "1"

Ich habe den Code doch aus dem Wiki:

#########################################################################
## Funktion......: FHEM Backup
## Besonderheiten: Anzeige der vorhandenen Backups im dummy
#########################################################################
SYS_Backup:* {
fhem("backup");;
opendir DIR, "Hier_den_Pfad_zu_Eurem_Backupverzeichnis" or die $!;;
my $mybackups = "";;
while(my $file = readdir DIR){
  next if($file eq "." || $file eq "..");;
  $mybackups = $mybackups."$file
";;
}
closedir DIR;;
fhem("set SYS_Backup ".$mybackups);;
}
#########################################################################


Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: marvin78 am 23 März 2016, 12:54:15
Wie schon in einen anderen deiner Threads erwähnt: Es wäre gut, wenn du den gesamten Code postest.

Was steht denn in Zeile 38?
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: ph1959de am 23 März 2016, 12:55:16
Zitat von: Benni am 23 März 2016, 12:36:54
Auch dazu findet sich im Wiki was ;)

http://www.fhemwiki.de/wiki/99_myUtils_anlegen (http://www.fhemwiki.de/wiki/99_myUtils_anlegen)

... und das "Der folgende Code ist in die Datei 99_myUtils.pm einzuarbeiten" verlinkt schon im Wiki direkt auf die notwendigen Informationen.

Aber jetzt bin ich kurz davor, wieder einen Neu-Benutzer mit "bitte die Grundlagen (bzw. überhaupt mal was selbständig) lesen (und verstehen)" zu verärgern.  :-X

Peter
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: marvin78 am 23 März 2016, 13:01:05
Wenn er dadurch verärgert ist, ist ihm nicht zu helfen. Es ist ja ein sehr guter und gut gemeinter Rat ;)
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 13:04:39
Die letzte Zeile ist 1;

>... und das "Der folgende Code ist in die Datei 99_myUtils.pm einzuarbeiten" verlinkt schon im Wiki direkt auf die notwendigen Informationen.
Das habe ich doch!


##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

#########################################################################
## Funktion......: FHEM Backup
## Besonderheiten: Anzeige der vorhandenen Backups im dummy
#########################################################################
SYS_Backup:* {
fhem("backup");;
opendir DIR, "/var/opt/fhem/Backup";;
my $mybackups = "";;
while(my $file = readdir DIR){
  next if($file eq "." || $file eq "..");;
  $mybackups = $mybackups."$file
";;
}
closedir DIR;;
fhem("set SYS_Backup ".$mybackups);;
}
#########################################################################
1;
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 13:19:52
Aus dem Log:

2016.03.23 12:45:47 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 15.
2016.03.23 12:45:47 1: PERL WARNING: Number found where operator expected at ./FHEM/99_myUtils.pm line 39, near "1"
2016.03.23 12:45:47 1: PERL WARNING: (Missing semicolon on previous line?)
2016.03.23 12:46:57 1: PERL WARNING: Number found where operator expected at ./FHEM/99_myUtils.pm line 35, near "1"
2016.03.23 12:52:12 1: PERL WARNING: Number found where operator expected at ./FHEM/99_myUtils.pm line 38, near "1"
2016.03.23 13:13:37 1: PERL WARNING: Number found where operator expected at ./FHEM/99_myUtils.pm line 37, near "1"
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 13:30:52
Es funktioniert jetzt, aber nur so:

sub Backup(){
SYS_Backup:* {
fhem("backup");;
opendir DIR, "/var/opt/fhem/Backup";;
my $mybackups = "";;
while(my $file = readdir DIR){
  next if($file eq "." || $file eq "..");;
  $mybackups = $mybackups."$file";;
}
closedir DIR;;
fhem("set SYS_Backup ".$mybackups);;
}
}


Wäre das Beispiel im Wiki vollständig, hätte das Ganze sofort funktioniert. Es hat nur das Wort sub Funktionsname() gefehlt. Ich hoffe, dass es jetzt mit sub Backup() ohne Parameter funktioniert!

Danke.
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: krikan am 23 März 2016, 13:32:05
Der Wiki-Artikel ist so mMn nicht OK.
Der Code kann als reine Kopie nicht in der 99_myUtils.pm funktionieren.
Das Thema hatten wir hier mit Lösung https://forum.fhem.de/index.php/topic,42231.0.html schon mal.

Gruß, Christian
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: pi-user am 23 März 2016, 13:35:25
Danke. :)

Ich bekomme nun beim Speichern der Datei 99_myUtils.pm keine Fehlermeldung mehr, aber dafür folgendes Log:

2016.03.23 13:13:37 1: PERL WARNING: Number found where operator expected at ./FHEM/99_myUtils.pm line 37, near "1"
2016.03.23 13:32:22 1: PERL WARNING: Subroutine Backup redefined at ./FHEM/99_myUtils.pm line 26.
Titel: Antw:Backup automatisch ausführen!?!
Beitrag von: ph1959de am 23 März 2016, 13:54:17
Zitat von: krikan am 23 März 2016, 13:32:05
Der Wiki-Artikel ist so mMn nicht OK.
Der Code kann als reine Kopie nicht in der 99_myUtils.pm funktionieren.
Das Thema hatten wir hier mit Lösung https://forum.fhem.de/index.php/topic,42231.0.html schon mal.

Danke Christian, hab's mir mal auf die Todo-Liste gepackt. Dass seinerzeit die Lösung doch noch kam, hatte ich nicht mitbekommen (ich wusste mittlerweile schon nicht einmal mehr, dass ich da involviert war  :o ).

Peter