Thanks: 0
Ergebnis 1 bis 3 von 3
Thema: EPG-Backup
-
13.12.2015, 14:21 #1
- 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
Box 1:GB UHD Quad 4KBox 2:GB UHD UE 4KBox 3:GB HD Quad PlusBox 4:GB HD X2EPG-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
-
Advertising
-
13.12.2015, 15:47 #2
- 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
Box 1:GB Q4K-SC / UE4K-SC / UE4K-CBox 2:GigaBlue Q-SSC / Q+-SSCBox 3:DM900uhd-SS / Vu+DuoBox 4:ZGemma H7/H9 SF8008Box 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! ----
-
13.12.2015, 17:35 #3
- 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
ThemenstarterBox 1:GB UHD Quad 4KBox 2:GB UHD UE 4KBox 3:GB HD Quad PlusBox 4:GB HD X2gut 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
Lesezeichen