Gibt es eine Möglichkeit bei beim Backup excludes zu definieren

Begonnen von Guest, 06 August 2012, 18:08:23

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,
gibt es eine Möglichkeit bei beim Backup excludes zu definieren, vielleicht
analog zum global attribute "exclude_from_update".

Hintergrund meiner Frage ist folgender. Bei meiner Fhem installation, die
auf der FB7390 liegt ist das Perl-Verzeichnis "lib" mit im modpath.
Bei jedem Backup wird das jetzt mit gesichert, was natürlich viel länger
dauert und meiner Meinung nach nicht nötig ist, da dieses Verzeichnis ja
bei einer neuinstallation o.ä. im Image enthalten ist.

MfG

Volker

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Martin Fischer

hallo volker,

Am Montag, 6. August 2012, 09:08:23 schrieb Volker:
> [...]
> gibt es eine Möglichkeit bei beim Backup excludes zu definieren, vielleicht
> analog zum global attribute "exclude_from_update".

aktuell gibt es diese option nicht. ich werde nach dem abschluss der fhem-
update umstellung mal sehen ob ich da noch ein parameter hinzufüge. eine
ähnliche anfrage hatte ich über meine homepage, allerdings ging es darum, das
zusätzlich noch die logfiles gesichert werden sollen.

allerdings hat man die möglichkeit, die ganze backup-prozedur mittels globalem
attribut "backupcmd" auszulagern. damit kann man sich ein eigenes "script"
erstellen, dass dann genaus das sichert / excluded was man letztlich möchte.

wichtig ist in diesem zusammenhang die rückmeldung des scriptes:
bei erfolg _muss_ die rückgabe mit "backup done" beginnen. dies ist wichtig
für die automatischen backups vor einem update.

eine korrekte rückgabe seitens des "fhem"-backups lautet z.b.:
backup done: FHEM-20120608182400.tar.gz

fängt die rückgabe _nicht_ mit "backup done" an, dann wird der entsprechende
rückgabestring (sollte dann eine fehlermeldung enthalten) zurück gegeben (und
ein update z.b. abgebrochen).

gruss martin

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
Admin, Developer, Gründungsmitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Hallo Martin,

hatte ich mir schon gedacht. Trotzdem vielen Dank für deine ausführliche
Antwort und die Erklärungen.

MfG

Volker

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Martin Fischer

Am Montag, 6. August 2012, 09:54:19 schrieb Volker:
> [...]
> hatte ich mir schon gedacht. Trotzdem vielen Dank für deine ausführliche
> Antwort und die Erklärungen.

gern...

so wie ich "zwischen den zeilen" lese, habe ich die vermutung, das dir meine
erklärung nicht weitergeholfen hat?!?

ein script ist relativ einfach.. hier mal ein (ungetestetes aus der "hüfte")
beispiel:

---------
#!/bin/sh
MODPATH="/voller/pfad/zu/modpath"
TAROPTS="cf"
PATHS="FHEM www /etc/fhem.cfg /var/log/fhem"
DATETIME=$(date +"%Y%M%d%H%M%S")

if [ ! -d ${MODPATH}/.backup ]; then mkdir -p ${MODPATH}/.backup; fi

cd ${MODPATH}
RET=$(tar -${TAROPTS} - ${PATHS} | gzip > ${MODPATH}/.backup/FHEM-${DATETIME}.tar.gz 2>&1)

if [ "${RET}" != "" ]; then
  echo "Error: ${RET}"
  exit 1
else
  if [ -e ${MODPATH}/.backup/FHEM-${DATETIME}.tar.gz ]; then
    echo "backup done: FHEM-${DATETIME}.tar.gz"
    exit 0
  else
    echo "Error while backup"
    exit 1
  fi
fi
---------

so oder so ähnlich könntest du dann dein script erstellen... in "PATHS" schreibst
du dann einfach die verzeichnisse / datein, die du sichern willst...

gruss martin

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
Admin, Developer, Gründungsmitglied des FHEM e.V.

Guest

Originally posted by: <email address deleted>

Hallo Martin,
ich werds mal mit dem script versuchen.

MfG

Volker

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Martin,

ich habe jetzt doch im 99_backup etwas geändert. Ich habe jetzt zwar mein
resultat, aber eine sache verstehe ich leider nicht.
Vielleicht kannst du mir erklären warum beim elsif kein Eintrag ins Log
geschrieben wird.


sub
readModpath($$)
{
  my ($modpath,$backupdir) = @_;
  my $msg;
  my $ret;
  my $perldir = $modpath.'/lib';

  if (!opendir(DH, $modpath)) {
    $msg = "Can't open $modpath: $!";
    Log 1, "backup $msg";
    return $msg;
  }
  my @files = <$modpath/*>;
  foreach my $file (@files) {
    if ($file eq $backupdir  && (-d $file || -l $file)) {
      Log 2, "backup exclude: '$file'";
    } elsif ($file eq $perldir  && (-d $file || -l $file)) {
      Log 2, "backup exclude: '$file'";
    } else {
      Log 2, "backup include: '$file'";
      push @pathname, $file;
    }
  }
  return $ret;;
}

MfG

Volker

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Martin,

Log-Eintrag wird jetzt doch geschrieben.

MfG

Volker

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Martin,

ja ist mir bewusst, das muss ich bei einigen anderen Anpassungen auch so
machen.
Ist mir aber lieber so, da ich dann die excludes im Log sehe.

Ich habe bei meinen Versuchen auch noch festgestellt das bei meiner
Umgebung Dateien doppelt gesichert werden.
Das kommt daher das ich einige configs in Unterordner ausgelagert habe.
Beim durchsuchen der fhem.cfg nach includes werden diese *.cfg-Dateien dann
gesichert und später beim sichern des modpath dann die Unterordner nochmal.

Das ist aber nicht so schlimm da die cfg nicht so gross sind.

MfG

Volker

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Martin Fischer

hallo volker,

Am Montag, 13. August 2012, 03:30:35 schrieb Volker:
> [...]
> ja ist mir bewusst, das muss ich bei einigen anderen Anpassungen auch so
> machen.
> Ist mir aber lieber so, da ich dann die excludes im Log sehe.

wenn ich mit meiner unterstützung für 5.3 fertig bin und alles soweit in "sack
und tüten" ist, dann schaue ich mir das nochmal an...

zur not mich dann spätestens wenn rudi die 5.3 released nochmal drauf
ansprechen..

gruss martin

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
Admin, Developer, Gründungsmitglied des FHEM e.V.

Martin Fischer

Am Donnerstag, 9. August 2012, 06:49:51 schrieb Volker:
> [...]
> ich habe jetzt doch im 99_backup etwas geändert. Ich habe jetzt zwar mein
> resultat, aber eine sache verstehe ich leider nicht.
> Vielleicht kannst du mir erklären warum beim elsif kein Eintrag ins Log
> geschrieben wird.

bin leider erst jetzt dazu gekommen... inzwischen hast du ja wohl auch schon
eine lösung gefunden..

ich gebe aber zu bedenken:

wenn du direkt in der 99_backup.pm änderungen vornimmst, solltest du dir
bewusst sein, das diese bei einem update ggf. überschrieben wird!

es sei den du nutzt die exclude_from_update funktion, was bei relevanten
modulen allerdings nicht zu empfehlen ist.

gruss martin

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
Admin, Developer, Gründungsmitglied des FHEM e.V.