EPG Save

  • das ganze funktioniert nur im gp3.
    der speicherort der im BP definiert wurde wird benutzt.
    das ipk erstellt nen eintrag in die enigma2.sh damit ein backup angelegt werden kann.
    ausserdem wird in rc.3d eine script eingebaut, welches den benötigten eintrag in der enigma2.sh checkt, wurde die enigma2.sh z.b. bei einem update wieder ersetzt, erkennt dies script das und patcht den eintrag wieder rein.


    die eigtl. backup und restore funktion funktioniert so:
    - eine epgbackup.dat wird erstellt wenn die epg.dat mindestens 1 MB gross ist.
    - die epg.dat wird durch die epgbackup.dat erstezt, wenn die epg.dat nicht existiert oder kleiner 1 MB ist.


    Die Scripte EPGsave_slave_oe2.0.sh und EPGsave.sh sind für ein Slave Box, d.h. diese Box, darf kein backup erstellen.
    Das Script muss nach /usr/lib/enigma2/python/Plugins/Extensions/EPGsave
    Das braucht ihr nur wenn ihr auf nen netzwerkmount die epg.dat legt.
    es sollte auch auf mehreren boxen mit dem ipk funktionieren, es dürfen dann halt alle boxen ne backup.dat erzeugen.


    UPDATE 24.07.12:
    -logverhalten geändert, es wird nun alles geloggt.
    -diverse kleinere änderungen
    bitte erst vorheriges epg slave deinstallieren
    opkg remove enigma2-plugin-extensions-epgsave

  • Quote

    Original von Erim
    die eigtl. backup und restore funktion funktioniert so:
    - eine epgbackup.dat wird erstellt wenn die epg.dat mindestens 1 MB gross ist.
    - die epg.dat wird durch die epgbackup.dat erstezt, wenn die epg.dat nicht existiert oder kleiner 1 MB ist.


    hi erim,
    dein ipk meldet bei mir immer das es keine zu backuppende datei finden, aber mein epg funktioniert.
    der epg speicherort ist /media/sd
    kann ich irgendwie enigma ordentlich beenden um zu sehen ob eine epg.dat wirklich erzeugt wird?

  • hab nun mal den epg pfad auf /media/hdd in gemini plugin geändert => dein plugin läuft.
    zurück auf /media/sd:
    plugin findet keine epg.dat.
    pfad geänder auf /media/hdd/backup
    plugin findet epg.dat


    woran könnte es liegen?


    und noch eine frage:
    das script oben kopiert doch die epg.dat nur dann über die backup wenn die epg.dat grösser als die backup datei ist, richtig?


    wäre es aber nicht sinniger die auch drüberzukopieren wenn die epg.dat > 1mb und neuer ist als die backup datei?


    sonst wird die ja nur 1x kopiert aber nie aktualisiert, oder verstehe ich da was nicht richtig?


  • hast du nach dieser änderung mal ein kompletten neustart gemacht ?


    Quote

    Original von niemand0815
    und noch eine frage:
    das script oben kopiert doch die epg.dat nur dann über die backup wenn die epg.dat grösser als die backup datei ist, richtig?


    nein die backup.dat wird auch dann neu erstellt, wenn die epg.dat 1mb kleiner ist wie die backup.dat.


    im 1. post ist ne neue version, hatte da noch nen kleinen fehler drin, ich nutze das mittlerweile über nfs, wobei ich eine box als "master" nutze und die andere als "slave".
    d.h
    die masterbox darf ne backup.dat erstellen und die slavebox darf das nicht.

  • Danke für das Plugin habs grade installiert denn wenn nach einen chrash die epg daten weg sind nervt !!


    MFG
    KURTI

    DM One UHD
    DM 7080HD SSSS
    DM 8000 SST
    DM 800se ohne Tuner

  • Quote

    Original von Erim


    hast du nach dieser änderung mal ein kompletten neustart gemacht ?


    ja, jedesmal.
    ich test heute nochmal mit der neuen version wenn grad mal keine aufnahmen laufen.



    zur änderungsgröße:
    da die alten daten ja rausgelöscht werden, wird die epg.dat dann überhaupt größer oder bleibt die immer gleich gross?


    EDIT:
    achja, tnx für das plugin, endlich hat das leere epg nach dem greenscreen ein ende und ich kann wieder guten gewissens rumprobieren *g*

  • eigtl. sollte es egal sein wo die epg.dat liegt.
    kopier mal deine backupdatei nach, /media/sd , nenn sie in epg.dat um und stells so im BP ein.
    dann poste mal den output von
    sh -x /usr/lib/enigma2/python/Plugins/Extensions/EPGsave/EPGsave.sh


    ich nutze vor dem nfs mount immer /media/SD und das funktionierte ;)

  • und wieder probiert, wieder gescheitert:


    reproduzierbar ist das sobald ich den epg speicherpfad von /media/hdd auf /media/sd stelle es nicht geht.


    hab mal etwas experimentiert:
    epg_backup von hdd nach sd kopiert.
    pfad umgestellt
    reboot => epg_backup wird nicht gefunden!
    offensichtlich wird also vom plugin auch die eigene datei nicht im pfad /media/sd gefunden, selbst wenn sie 100% sicher dort ist.


    meine vermutung:
    könnte es sein das irgendwie zu dem zeitpunkt an dem das ausgeführt wird /media/sd entweder gar nicht gemountet ist oder zu langsam antwortet so das die datei nicht gefunden wird?


    ich hab mich spasseshalber mal während des bootens angemeldet und folgendes probiert:
    root@dm8000:~# cd /media/sd
    -sh: cd: can't cd to /media/sd
    kurz danach:
    root@dm8000:~# cd /media/sd
    root@dm8000:/media/sd#


    gemini kann witzigerweise den epg trotzdem erfolgreich wegschreiben und wieder laden, nur eben das plugin nicht.


    das ganze bringt mich wieder zur frage:
    gibt es eine möglichkeit enigma2 ordentlich per telnet zu beenden um zu sehen wo denn die epg.dat liegt?

  • Hallo!


    Hatte hier ein ähnliches Verhalten, wenn die Sicherung auf die CompactFlash-Card unter /media/cf gehen sollte.


    Die Ursache scheint zu sein, dass die Karte während des Neustarts von Enigma oder des Rebootens noch nicht gemountet ist. Dann findet das Script weder die epg.dat, noch die epg_backup-Datei.


    Ich habe bei mir jetzt die CompactFlash-Card über die fstab fest gemountet und jetzt läuft alles zu meiner Zufriedenheit!


    Gruß,
    Kalimero

  • So ein Script habe ich schon gesucht.
    Leider funzt es bei mir nicht so wie es soll.
    auf der Box wird eine epg_backup_2011xxxxx.dat erstellt.
    das funzt schon einmal. es gibt dann auch noch eine epg_new.dat
    es gibt aber keine epg.dat.
    auf der client box wurde im Bp der EPG pfad auf die "Master" box gelegt.
    das script wurde nach usr/script kopiert.
    leider holt die client box nicht diese epg daten ab.
    warum?


    danke

  • du musst das ipk installieren und danach das script ersetzen
    die epg.dat sieht man nur kurz bei einem e2 start, wenn e2 die epg.dat geladen hat ist sie weg.

  • Ok,
    Ich habe jetzt auf beide Boxen das ipk installiert.
    Auf der Serverbox wurde auch eine backup-datei erstellt.


    Auf der Clientbox wurde nach der installation des ipk die Date EPGsave.sh mit der im ersten Post angehängten Datei überschrieben (befindet sich in usr/lib/enigma2/python/Plugins/EPGsave)
    Wenn ich nun die Clientbox neu starte sollten automatisch die EPG Daten der Serverbox abgerufen werden, oder?
    Das geschieht bei mir leider nicht.
    Im BP auf der Clientbox habe ich auf den Ordner der Serverbox verwiesen, dort befindet sich auch die backup_epg datei.

  • hmm bei mir funzt das allerdings.


    führ mal
    sh -x /usr/lib/enigma2/python/Plugins/Extensions/EPGsave/EPGsave.sh
    aus und poste hier den output

  • kommt folgendes raus:


    root@dm800:~#
    sh -x /usr/lib/enigma2/python/Plugins/Extensions/EPGsave/EPGsave.s


    h



    + cat /etc/enigma2/gemini_plugin.conf
    + grep epgCacheDir
    + sed -e s/^.*=\(.*\)\.*$/\1/
    + EPGPATH=/media/net/DB800se/


    + EPGFILE=
    + EPGbackup=/media/net/DB800se/epg_Backup_20110211.dat
    + [ -s ]
    + tr -s


    + cut -d -f 5
    + head -n1
    + ls -lr
    + let EPGFILESIZE=15/1024
    + echo /media/net/DB800se/epg_Backup_20110211.dat
    /media/net/DB800se/epg_Backup_20110211.dat
    + [ -s /media/net/DB800se/epg_Backup_20110211.dat ]
    + ls -lr /media/net/DB800se/epg_Backup_20110211.dat
    + tr -s
    + cut -d -f 5
    + head -n1
    + let BACKUPSIZE=3979200/1024


    + BACKUPSIZEDIFF=2861
    + [ 0 -gt 0 -o 3885 -gt 0 ]
    + echo 0
    + tr -d [0-9]
    + test -z 0 -o -n
    + [ 0 -lt 1024 ]
    + echo /media/net/DB800se/epg.dat
    + EPGFILE=/media/net/DB800se/epg.dat
    + cp -f /media/net/DB800se/epg_Backup_20110211.dat /media/net/DB800se/epg.dat


    +
    echo EPG-Grösse mit 0 kB < 1024kB, restore EPG-File von epg_Backup.dat
    EPG-Grösse mit 0 kB < 1024kB, restore EPG-File von epg_Backup.dat
    + exit 0


    also die datei auf der serverbox wird erkannt. nur fehlen die daten im EPG selbst.

  • du müsstest jetzt die epg.dat in /media/net/DB800se/ sehen.
    wenn das der fall ist, wird deine serverbox zu spät gemountet :(
    bräuchte dann mal deine auto.network vom "client" und exports von dem "server"

  • die epg.dat ist jetzt da, stimmt.


    die auto.network vom client lautet:
    DB800se -fstype=nfs,soft,udp,nolock,rsize=8192,wsize=8192 192.168.1.25:/media/hdd



    exports vom server
    /media/hdd *(rw,no_root_squash,async,no_subtree_check)


  • versuch mal
    DB800se -fstype=nfs,rw,soft,udp,nolock 192.168.1.25:/media/hdd


    /media/hdd 192.168.1.0/24(rw,no_root_squash,async,no_subtree_check)


    erstmal server danach neu starten dann client



    edit:
    huch die server zeile war falsch, dummes c&p

  • hab ich jetzt versucht, leider das selbe ergebnis.


    wo kann ich die epg daten löschen?
    auf der client box sind noch epg daten, die würde ich gerne einmal alle löschen.