Hauptmenü

Backup fehlerhaft?

Begonnen von dog_martin, 20 Juni 2016, 18:56:51

Vorheriges Thema - Nächstes Thema

dog_martin

Bei der Überprüfung der erzeugten Backuparchive habe ich festgestellt, dass fhem.cfg und log/fhem.save doppelt ins Archiv gepackt werden!?
Das wird auch so im FileLog vermerkt:"fhem.cfg" "./log/fhem.save" "./certs" "./CHANGED" "./configDB.pm" "./contrib" "./demolog" "./docs" "./FHEM" "./fhem.cfg" "./fhem.cfg.demo" "./fhem.cfg.orig" "./fhem.pl" "./log" "./README_DEMO.txt" "./restoreDir" "./unused" "./www"
Ich habe bis dato drei Sicherungen - bei allen sind fhem.cfg und log/fhem.save jeweils doppelt wovon jeweils eine Datei 0 Bytes gross ist. (siehe Anhang)
Beim Auspacken fehlen dann diese beiden.

Ist das nur bei mir so, oder könnte es sich um einen Fehler des Backups handeln?
(btw: fhem ist auf dem aktuellen Stand, es gab nichts zu tun)

Grüße - dog martin

rudolfkoenig

Das ist wohl der Fall bei der (aktuell standard) Installation von allen Bestandteilen nach /opt/FHEM.
Falls jemand einen Patch dafuer liefert, baue ich es ein, ich verwalte das Modul auch nur komissarisch.

P.S.: gibt es deswegen handfeste Problem, oder ist das nur unschoen?

dog_martin

Habe zunächst unter OS X beim Versuch ein Archiv vollständig zu entpacken eine Fehlermeldung und Abbruch bekommen.
Mittels tar -xzf auf Debian/Raspbian funktionierte es eben aber problemlos...

Also eher kein direkter Handlungsbedarf  ;)

Grüße - dog martin

betateilchen

Zitat von: rudolfkoenig am 20 Juni 2016, 19:27:38
Das ist wohl der Fall bei der (aktuell standard) Installation von allen Bestandteilen nach /opt/FHEM.

... wenn man nicht mit configDB arbeitet.

Zitat von: rudolfkoenig am 20 Juni 2016, 19:27:38
Falls jemand einen Patch dafuer liefert, baue ich es ein,


Index: 98_backup.pm
===================================================================
--- 98_backup.pm (Revision 11701)
+++ 98_backup.pm (Arbeitskopie)
@@ -48,9 +48,13 @@
{
   my ($cl, $param) = @_;

-  my $modpath = $attr{global}{modpath};
+  my $modpath    = AttrVal("global", "modpath","");
   my $configfile = AttrVal("global", "configfile", "");
   my $statefile  = AttrVal("global", "statefile", "");
+     # prevent duplicate entries in backup list,
+     # but only when defaults used, forum #54826
+     $configfile = '' if ($configfile eq 'fhem.cfg' || configDBUsed());
+     $statefile  = '' if ($statefile  eq "./log/fhem.save");
   my $msg;
   my $ret;

@@ -87,7 +91,7 @@
     Log 4, "backup include: 'configDB.conf'";
   } else {
     # get pathnames to archiv
-    push @pathname, $configfile;
+    push @pathname, $configfile if($configfile);
     Log 4, "backup include: '$configfile'";
     $ret = parseConfig($configfile);
     push @pathname, $statefile if($statefile);
@@ -108,6 +112,8 @@
parseConfig($)
{
   my $configfile = shift;
+     # we need default value to read included files
+     $configfile = $configfile ? $configfile : 'fhem.cfg';
   my $fh;
   my $msg;
   my $ret;
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Ok, ich ergaenze: der Patch soll das Problem auch beheben :)

Zitat2016.06.22 09:27:59 2: Backup with command: tar -cf - "fhem.cfg" "./log/fhem.save" "./98_backup.pm" "./CHANGED" "./configDB.pm" "./contrib" "./controls_fhem.txt" "./demolog" "./docs" "./FHEM" "./fhem.cfg" "./fhem.cfg.demo" "./fhem.pl" "./fhem.pl.txt" "./HISTORY" "./log" "./Makefile" "./README.SVN" "./README_DEMO.txt" "./restoreDir" "./unused" "./webfrontend" "./www" |gzip > ./backup/FHEM-20160622_092759.tar.gz

betateilchen

Bei mir hat er das zuverlässig getan und ich habe  gestern VIELE Konstellationen getestet. Mit und ohne includes, mit fhem.cfg und configDB usw.

Zitat von: rudolfkoenig am 22 Juni 2016, 09:30:21
2016.06.22 09:27:59 2: Backup with command: tar -cf - "fhem.cfg" "./log/fhem.save" "./98_backup.pm"

Die 98_backup.pm gehört doch nach ./FHEM? Bist Du sicher, dass Du mit der richtigen Datei getestet hast?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Sorry fuer die Verwirrung, Du hast natuerlich recht.
Hab deine Aenderungen eingecheckt, Danke.