Thanks Thanks:  0
Ergebnis 1 bis 3 von 3

Thema: EPG-Backup

  1. #1
    Senior Mitglied Avatar von schorschi
    Registriert seit
    28.09.2014
    Ort
    Rhein-Main
    Beiträge
    338
    Total Downloaded
    167,06 MB
    Total Downloaded
    167,06 MB
    ReceiverDankeAktivitäten
    Box 1:
    GB UHD Quad 4K
     
     
    Box 2:
    GB UHD UE 4K
     
     
    Box 3:
    GB HD Quad Plus
     
     
    Box 4:
    GB HD X1
     
     
    Box 5:
    DM800HD
     
     

    EPG-Backup

    Guude @all,

    das Skript ist ansich selbsterklärend...

    Ich nutze das PlugIn "EPGRefresh", was mir den EPG täglich zwischen 5.30 - 6.30 Uhr autom. aktualisiert. Danach kopiere ich die EPG-Datei auf ein NFS-Share und hole die Datei dann wiederum von anderen Receivern ab.

    Verbesserungen oder Verbesserungsvorschläge sind wie immer sehr erwünscht

    Code:
    #!/bin/sh
    # Schorschis EPG Backup: V1.0 / 2015/12/13
    #
    # USAGE:
    # epg_backup.sh OR epg_backup s --> SAVE EPG
    # epg_backup.sh g               --> GET (overwrite) EPG
    #
    # CRON EXAMPLE SAVE EPG:
    # min   hour     day     month   dow   command
    # 0     7        *       *       *     /usr/script/epg_backup.sh > /tmp/epg_backup_save.log 2>&1
    #
    # CRON EXAMPLE GET EPG:
    # min   hour     day     month   dow   command
    # 30    7        *       *       *     /usr/script/epg_backup.sh g > /tmp/epg_backup_get.log 2>&1
    #
    # USER SETUP ***********************************************
    # epg filename:
    epgFilename='epg.dat'
    # target directory (without a trailing slash!)
    epgTgtDir='/media/autofs/timeshift'
    # END USER SETUP *******************************************
    
    # FUNCTIONS ************************************************
    # set PATH
    requiredPaths='/usr/bin /bin /sbin'
    setPath() {
      for p in $1; do
        case ":$PATH:" in
          *":$p:"*)
            # dir already exist in PATH variable, do nothing
          ;;
          *)
            # add required dir to the PATH variable
            [ -d "$p" ] && PATH="$PATH:$p"
          ;;
        esac
      done
    }
    
    [ ! -z "$requiredPaths" ] && setPath "$requiredPaths"
    
    printOut() {
      echo $(date "+%d.%m.%Y %H:%M:%S")" - $1"
    }
    
    standBy() {
      if [ $standBy -eq 1 ]; then
        printOut "Switching receiver into standby mode..."
        WEBIF=0
        cnt=0
        until [ $WEBIF -eq 1 ]; do
          if [ $cnt -gt 12 ]; then
            # slept 2 minutes, break out...
            printOut "WARNING: WebIF is not started"
            break
          fi
          cnt=`expr $cnt + 1`
          # Web-Interface reachable?
          if [ $(wget -q -O - 'http://127.0.0.1' | grep -cim 1 "<html") = "0" ]; then
            printOut "WebIF is not reachable: Sleeping $cnt..."
            sleep 10
          else
            printOut "OK: WebIF is reachable, switching receiver into standby mode..."
            # PowerState: 0 = Toggle Standby; 1 = Deepstandby; 2 = Reboot; 3 = Restart Enigma2; 4 = Wakeup form Standby; 5 = Standby
            tmpV=`wget -O - -q http://127.0.0.1/web/powerstate?newstate=5 | grep "\(<\|</\)e2instandby" | tr -d '\n' | sed "s/.*<e2instandby>\(.*\)<\/e2instandby.*/\\1\n/"`
            WEBIF=1
            break
          fi
        done
      fi
    }
    
    # POWERSTATE?
    tmpV=`wget -O - -q http://127.0.0.1/web/powerstate | grep "\(<\|</\)e2instandby" | tr -d '\n' | sed "s/.*<e2instandby>\(.*\)<\/e2instandby.*/\\1\n/g" | sed "s/\s*//g"`
    if [ "$tmpV" = "false" ]; then
      standBy=0
    else
      standBy=1
    fi
    
    # EPG source directory
    epgSrcDir=`grep -m 1 "^config.misc.epgcachepath" /etc/enigma2/settings | cut -d "=" -f2 | sed "s/\s*//g" | sed "s/\/$//g"`
    
    
    # VALIDATION ***********************************************
    if [ ! -d "$epgTgtDir" ]; then
      printOut "ERROR: Target directory \"$epgTgtDir\" not found!"
      exit 1
    fi
    if [ ! -d "$epgSrcDir" ]; then
      printOut "ERROR: Source directory \"$epgSrcDir\" not found!"
      exit 1
    fi
    #if [ ! -s "$epgSrcDir/$epgFilename" ]; then
    #  printOut "ERROR: EPG file \"$epgSrcDir/$epgFilename\" not found or file is empty!"
    #  exit 1
    #fi
    # END VALIDATION *******************************************
    
    
    # SAVE EPG *************************************************
    if [ -z "$1" -o "$1" = "s" ]; then
      printOut "Saving EPG to $epgSrcDir/$epgFilename"
      # shutdown enigma2
      printOut "Shutdown Enigma2..."
      init 4
      # wait...
      sleep 3
      # check...
      if [ -s "$epgSrcDir/$epgFilename" ]; then
        cp -f "$epgSrcDir/$epgFilename" "$epgTgtDir/$epgFilename"
      fi
      tmpV=`find "$epgTgtDir/" -mmin -5 -type f -name "$epgFilename"`
      if [ "$tmpV" = "$epgTgtDir/$epgFilename" ]; then
        # ok, EPG file is younger then 5 minutes...
        printOut "$epgFilename successfully saved"
      else
        printOut "ERROR: Could not save $epgFilename to $epgTgtDir!"
      fi
      # startup enigma2
      printOut "Startup Enigma2..."
      init 3
      standBy
    fi
    
    
    # GET EPG **************************************************
    if [ ! -z "$1" -a "$1" = "g" ]; then
      printOut "Get EPG from $epgTgtDir/$epgFilename"
      tmpV=`find "$epgTgtDir/" -mmin -1440 -type f -name "$epgFilename"`
      if [ "$tmpV" = "$epgTgtDir/$epgFilename" ]; then
        # ok, EPG file is younger then 24 hours...
        # shutdown enigma2
        printOut "Shutdown Enigma2..."
        init 4
        # wait...
        sleep 3
        cp -f "$epgTgtDir/$epgFilename" "$epgSrcDir/$epgFilename"
        tmpV=`find "$epgSrcDir/" -mmin -1440 -type f -name "$epgFilename"`
        if [ "$tmpV" = "$epgSrcDir/$epgFilename" ]; then
          # ok, EPG file is younger then 24 hours...
          printOut "$epgFilename successfully saved"
        else
          printOut "ERROR: Could not save $epgFilename to $epgSrcDir!"
        fi
        # startup enigma2
        printOut "Startup Enigma2..."
        init 3
        standBy
      else
        printOut "ERROR: $epgTgtDir/$epgFilename is too old!"
      fi
    fi
    
    tmpV=`ls -lAh "$epgSrcDir/$epgFilename"`
    printOut "Current EPG file:"
    printOut "$tmpV"
    
    exit 0
    Geändert von schorschi (20.12.2015 um 12:28 Uhr)
    Beste Grüße
    Schorsch

    --------------------------------------------------------------------------------
    E2Shell - E2Info - DDNS-Client - My Keymap - NFS Speed-Test

    •   Alt Advertising

       

  2. #2
    Avatar von Papi2000
    Registriert seit
    20.04.2013
    Beiträge
    11.456
    Total Downloaded
    592,97 MB
    Total Downloaded
    592,97 MB
    ReceiverDankeAktivitäten
    Box 1:
    GB Q4K-SC / UE4K-SC / UE4K-C
     
     
    Box 2:
    GigaBlue Q-SSC / Q+-SSC
     
     
    Box 3:
    DM900uhd-SS / Vu+Duo
     
     
    Box 4:
    E4HD FormF3 AX Triplex VIP2-CC
     
     
    Box 5:
    diverse andere . . .
     
     
    Du könntest auch einfach die Image Einstellungen für dein EPG bei deinen Boxen so einstellen, dass die als Server agierende Box ihr EPG auf dein NAS schreibt und liest, und die als Clients agierenden Boxen ihr EPG nicht speichern, sondern auch vom NAS lesen. Das ist so im Image eingebaut.
    Grüßle
    Ralf
    ------------------------------------------------------------------------------------------------------------------------
    Gigablue Quad 4K-multi,Quad+-SSC,Quad-SSC, andere Gigas, Astra 19.2E, UniCable & KabelBW, oATV/ teamBlue
    (weitere: DM900uhd,Vu+Duo,Technisat,Edision),PC-DVB-S/C/T,PCH-A110,Xtreamer,BDP5200
    UE32C5700,UE65HU7590,LG42R51
    ---- Einen Receiver kann sich jeder kaufen - Eine stabile E²-Box muß man sich verdienen! ----



  3. #3
    Senior Mitglied Avatar von schorschi
    Registriert seit
    28.09.2014
    Ort
    Rhein-Main
    Beiträge
    338
    Themenstarter
    Total Downloaded
    167,06 MB
    Total Downloaded
    167,06 MB
    ReceiverDankeAktivitäten
    Box 1:
    GB UHD Quad 4K
     
     
    Box 2:
    GB UHD UE 4K
     
     
    Box 3:
    GB HD Quad Plus
     
     
    Box 4:
    GB HD X1
     
     
    Box 5:
    DM800HD
     
     
    gut gemeint Papi, aber das funzt nicht, da mir oATV V5.1 (fast immer tagesaktuell) die epg.dat weg haut, also löscht Denke der Reboot nach einem Update ist nicht "sauber".
    Beste Grüße
    Schorsch

    --------------------------------------------------------------------------------
    E2Shell - E2Info - DDNS-Client - My Keymap - NFS Speed-Test


Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Diese Website benutzt Cookies
Wir benutzen Cookies um Sitzungsinformationen zu speichern. Dies erleichtert es uns z.B. Dich an Deine Login zu erinnern, Einstellungen der Webseite zu speichern, Inhalte und Werbung zu personalisieren, Social Media Funktionen anzubieten und unser Datenaufkommen zu analysieren. Wir teilen diese Informationen ebenfalls mit unseren Social Media-, Werbe- und Analysepartnern.
     
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 Uhr.
Powered by vBulletin® Version 4.2.5 (Deutsch)
Copyright ©2018 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.
Resources saved on this page: MySQL 11,76%
Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)
vBulletin Skin By: PurevB.com