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
    573
    Thanks (gegeben)
    72
    Thanks (bekommen)
    106
    Total Downloaded
    167,06 MB
    Total Downloaded
    167,06 MB
    ReceiverDanke
    Box 1:
    GB UHD Quad 4K
     
     
    Box 2:
    GB UHD UE 4K
     
     
    Box 3:
    GB HD Quad Plus
     
     
    Box 4:
    GB HD X2
     
     

    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 - Div. Skripte

    •   Alt Advertising

       

  2. #2
    Avatar von Papi2000
    Registriert seit
    20.04.2013
    Beiträge
    24.948
    Thanks (gegeben)
    4700
    Thanks (bekommen)
    9133
    Total Downloaded
    596,61 MB
    Total Downloaded
    596,61 MB
    ReceiverDanke
    Box 1:
    GB Q4K-SC / UE4K-SC / UE4K-C
     
     
    Box 2:
    GigaBlue Q-SSC / Q+-SSC
     
     
    Box 3:
    DM900uhd-SS / Vu+Duo
     
     
    Box 4:
    ZGemma H7/H9 SF8008
     
     
    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 Quad4K-mixed, UE4K, Trio4K, Quad_Plus-SSC, UE_Plus-SC, X2/X3-SC, UltraUE-SC, ...
    Astra 19.2E UniCable & KabelBW, oATV/teamBlue
    (u.a.: DM900uhd,Vu+Duo,ZGemma H9Twin & H7S), PC-DVB-S/C/T, Xtreamer, BDP5200, Philips 24PFS4022/12, 65OLED855/12,UE32C5700, RPi3+
    ---- 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
    573
    Thanks (gegeben)
    72
    Thanks (bekommen)
    106
    Themenstarter
    Total Downloaded
    167,06 MB
    Total Downloaded
    167,06 MB
    ReceiverDanke
    Box 1:
    GB UHD Quad 4K
     
     
    Box 2:
    GB UHD UE 4K
     
     
    Box 3:
    GB HD Quad Plus
     
     
    Box 4:
    GB HD X2
     
     
    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 - Div. Skripte


Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 Uhr.
Powered by vBulletin® Version 4.2.5 (Deutsch)
Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.
Resources saved on this page: MySQL 5,88%
Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)
vBulletin Skin By: PurevB.com