Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

    Nobody is reading this thread right now.
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hi,

habe nun auf meinem Igel das script pack_astra_e2 ausgeführt und bekomme:
Aug 26 16:51:49 igel-server sendEmail[15985]: Email was sent successfully!
root@IGEL-SERVER:/usr/script# ./pack_astra_e2.sh
cd: 132: can't cd to srcDIR
Bereite Dateien zum packen vor..
cp: cannot stat `srcDIRcables.xml': No such file or directory
cp: cannot stat `srcDIRsatellites.xml': No such file or directory
cp: cannot stat `srcDIRterrestrial.xml': No such file or directory
Es ist ein Fehler aufgetreten (zu packende dateien kopieren)
Abbruch
Aug 26 16:53:28 igel-server sendEmail[16191]: Email was sent successfully!
root@IGEL-SERVER:/usr/script#

Was passt denn da nicht ???

Grüße Rooki
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Update Cron.sh Version 1.2.2

Neu: Es wird gepr. ob Update vorhanden ist. Es wird eine zweite Timelu.txt erstellt. Damit ist es noch möglich Manuell über Blaue Taste Download-Senderliste downloaden zu können.
Sowie eine Abfrage ob nochmal eine Erinnerung kommen soll. Testen und Danke Button nicht vergessen.

Code:
#!/bin/sh
#
# Pruefung ob Bouquets Update vorhanden. Version 1.2.2
# Script fragt einmal ob Updatet erwuenscht, wenn Nein dann erst wieder wenn Update vorhanden.
#
# Enigma Version ("enigma1" oder "enigma2").


# Die SERVERurl auf die Adresse eures Webservers umändern, wo die gepackte Bouquets Datei liegt
SERVERurl="ftp://192.168.11.3"


# Der Port eures Webservers (standard: 80)
SERVERport="21"


# Das Verzeichnis in dem die Bouquets Datei auf dem Webserver liegt
SERVERdir="hotbird_e2"


# Benutzername zum Zugriff auf den Webserver (leer lassen falls nicht vorhanden)
USERNAME="dream"


# Password zum Zugriff auf den Webserver (leer lassen falls nicht vorhanden)
PASSWORD="0000"


# timelu.txt auf Dreambox
timelu="timelu.txt"


# Datei mit der Zeit des letzten Updates die vom Server geladen wird
ST="time.txt"


# Ob eine Ausgabe bei Kein Update und Fehlern gemacht werden soll 0 = Nein , 1 = Ja
AUSGABE="0"


# Dauerhaft Abfrage auf der Dreambox? 0 = Nein (Abfrage 15 Sekunden) , 1 = Ja
# Abfrage ob Update Boquets Update durchgefuehrt werden soll
ABFRAGE="1"


# Ob VPN benutzt werden 0 = Nein , 1 = Ja
VPN="1"


# Update Script Ordner und Datei
get_bqdir="/usr/script"
get_bqfile="get_bq.sh"


#
## Ende der Konfiguration
#


vpnup() {
#VPN Verbindung wird aufgebaut
if [ "$VPN" = 1 ]; then
echo "VPN Verbindung wird aufgebaut"
/usr/script/vpn.sh start & sleep 30
fi
}


vpndown() {
#VPN Verbindung wird beendet
if [ "$VPN" = 1 ]; then
echo "VPN Verbindung wird abgebaut"
/usr/script/vpn.sh stop
fi
}






#VPN Verbindung aufbauen
vpnup


#prepare url
case $SERVERurl in
    [hH][tT][tT][pP]*|[fF][tT][pP]*)
        URLprot="$(echo $SERVERurl | cut -d ":" -f 1)://"
        URL=$(echo $SERVERurl | cut -d ":" -f 2 | tr -d "//")
    ;;
    *)
        URL=$SERVERurl
    ;;
esac
if [ ! -z "$USERNAME" ]; then
    if [ -z "$PASSWORD" ]; then
        _error 1 "Die Script Einstellung USERNAME ist gesetzt aber PASSWORD ist leer!"
    fi
    URL="$USERNAME:$PASSWORD@$URL"
fi
[ ! -z "$SERVERport" ] && URL="$URL:$SERVERport"
[ ! -z "$URLprot" ] && URL=$URLprot$URL


TEMPdir=/tmp
WGETo="-q"


# functions
#aufräumen
_cleanup() {
    rm -r $TEMPdir/$ST
}


# error handling
_error() {
    if [ $1 -gt 0 ]; then
        [ -z "$2" ] && message="Es ist ein Fehler aufgetreten" || message=$2
            echo "$message"
            echo "Abbruch"
            if [ "$AUSGABE" = 1 ]; then
            #Bildschirmnachricht bei ein Fehler
            wget -O /dev/null "http://localhost:80/web/message?text=Verbindung%20wird%20beendet%20wegen%20eines%20Fehlers!&type=1&timeout=20"
            else
            echo ""
            fi
            #VPN Verbindung wegen eines Fehlers abbauen
            vpndown
            
        exit 1
    fi
}








#downloaden von time.txt 
downtimetxt() {
    #Downloaden von time.txt vom Server
    wget $WGETo $URL/$SERVERdir/$ST
    _error $? "Es ist ein Fehler aufgetreten (download $ST)"
    
    #prüfen ob download erfolgreich
    if [ ! -f "$TEMPdir/$ST" ]; then
        _error 1 "Es ist ein Fehlr aufgetreten (download $ST)"
    fi
}


#Speichern der time.txt-variable in /etc/timeluCron.txt
savetimetxt() {
    cp -r $TEMPdir/$ST /etc/timeluCron.txt
}


echo "Pruefe ob ein Update der Bouquets vorhanden ist.."
cd $TEMPdir


#prüfen ob das script schon mal genutzt wurde und /etc/timeluCron.txt überhaupt vorhanden ist
if [ -f "/etc/timeluCron.txt" ]; then


    #vor dem download sicherstellen das die datei nicht vorhanden ist    
    _cleanup


    #download von time.txt vom Server
    downtimetxt
    
    #savetimetxt speichert timen in /etc/timeCron.txt
    savetimetxt
    
    #Speichern des Inhalts von vorhanden timelu.txt in einer Variablen
    timelu1=$(cat /etc/timelu.txt | head -n1 | tail -n1)
    timeluZS=$(cat /etc/timeluCron.txt | head -n1 | tail -n1)
    if [ $timelu1 -lt $timeluZS ]; then
        
    #Abfrage ob Update abgeprochen werden soll
                #Abfgrabe ob Dauerhaft abfrage oder nur für 15 Sekunden
                if [ "$ABFRAGE" = 1 ]; then
                wget -O /dev/null "http://localhost:80/web/message?text=Eine%20neu%20Senderlisten%20steht%20zum%20Update%20bereit!%20Soll%20Update%20ABGEBROCHEN%20werden?&type=0"
                else
                wget -O /dev/null "http://localhost:80/web/message?text=Eine%20neu%20Senderlisten%20steht%20zum%20Update%20bereit!%20Soll%20Update%20ABGEBROCHEN%20werden?&type=0&timeout=15"
                fi
    while [ -z "$answer" ]; do
    answer=$(wget -O - 'http://localhost:80/web/messageanswer?getanswer=now' | egrep -o 'YES|NO') 
    sleep 1
    done
        if [ "$answer" = NO ];then
        wget -O /dev/null "http://localhost:80/web/message?text=Update%20gestartet!%20Kann%20mehrer%20Minuten%20dauern!&type=1&timeout=30"
        $get_bqdir/$get_bqfile
        else
            #Abfgrabe ob Dauerhaft abfrage oder nur für 15 Sekunden
            if [ "$ABFRAGE" = 1 ]; then
            wget -O /dev/null "http://localhost:80/web/message?text=Willst%20du%zum%20aktuellen%20Update%20nochmal%20erinnert%20werden?%20Update%20kann%20auch%20manuell%20über%20Blaue%20Taste%20>%20Download-Senderliste%20gestartet%20werden!&type=0"
            else
            wget -O /dev/null "http://localhost:80/web/message?text=Willst%20du%zum%20aktuellen%20Update%20nochmal%20erinnert%20werden?%20Update%20kann%20auch%20manuell%20über%20Blaue%20Taste%20>%20Download-Senderliste%20gestartet%20werden!&type=0&timeout=15"
            fi
                if [ "$answer" = YES ];then
                rm -r /etc/timeluCron.txt
                fi
                # VPN Verbindung abbauen 
                vpndown
        fi
    else
    echo "Es ist kein Update vorhanden!"
            if [ "$AUSGABE" = 1 ]; then
            #Bildschirmnachricht für kein Update vorhanden
            wget -O /dev/null "http://localhost:80/web/message?text=Es%20ist%20kein%20Update%20vorhanden!&type=1&timeout=20"
            fi
            #VPN Verbindung wird beendet
            vpndwon    
    fi
else
    
    #Abfrage ob Update abgeprochen werden soll
    #Abfgrabe ob Dauerhaft abfrage oder nur für 15 Sekunden
    if [ "$ABFRAGE" = 1 ]; then
    wget -O /dev/null "http://localhost:80/web/message?text=Eine%20neu%20Senderlisten%20steht%20zum%20Update%20bereit!%20Soll%20Update%20ABGEBROCHEN%20werden?&type=0"
    else
    wget -O /dev/null "http://localhost:80/web/message?text=Eine%20neu%20Senderlisten%20steht%20zum%20Update%20bereit!%20Soll%20Update%20ABGEBROCHEN%20werden?&type=0&timeout=15"
    fi
    while [ -z "$answer" ]; do
    answer=$(wget -O - 'http://localhost:80/web/messageanswer?getanswer=now' | egrep -o 'YES|NO') 
    sleep 1
    done
        if [ "$answer" = NO ];then
        wget -O /dev/null "http://localhost:80/web/message?text=Update%20gestartet!%20Kann%20mehrer%20Minuten%20dauern!&type=1&timeout=30"
        $get_bqdir/$get_bqfile
        else
            #Abfgrabe ob Dauerhaft abfrage oder nur für 15 Sekunden
            if [ "$ABFRAGE" = 1 ]; then
            wget -O /dev/null "http://localhost:80/web/message?text=Willst%20du%20zum%20aktuellen%20Update%20nochmal%20erinnert%20werden?%20Update%20kann%20auch%20manuell%20über%20Blaue%20Taste%20>%20Download-Senderliste%20gestartet%20werden!&type=0"
            else
            wget -O /dev/null "http://localhost:80/web/message?text=Willst%20du%20zum%20aktuellen%20Update%20nochmal%20erinnert%20werden?%20Update%20kann%20auch%20manuell%20über%20Blaue%20Taste%20>%20Download-Senderliste%20gestartet%20werden!&type=0&timeout=15"
            fi
                if [ "$answer" = YES ];then
                rm -r /etc/timeluCron.txt
                else
                echo "2" > /etc/timelu.txt
                echo "1" > /etc/timeluCron.txt
                fi
            # VPN Verbindung abbauen 
            vpndown
        fi
fi


exit 0

@ rooki_1

nimm dieses Script. Beim alten Pack script waren Fehler drin.

Update pack_hotbird_e2 Version 1.2:

Enigma Version wird ausgelesen. Gibt man unter Setting hotbird_e2 an wird enigma version > "enigma 2" verwendet.
Paar Fehler beseitigt.

pack_hotbird_e2 Version 1.2
Code:
#!/bin/sh
#
# packt Settings in *.tar.gz und erstellt time.txt Version 1.2
#
#
# Hier angeben um welchen Setting es handelt. (astra_e1, astra_e2, hotbird_e1 oder hotbird_e2)
# Enigma Verison wird ausgelesen
SETTING="hotbird_e2"


REMOTE="/media/daten/www/settings/$SETTING"


# Soll eine eMail bei Fehler gesendet werden? 1 = Ja , 0 = Nein
eMailFehler="1"


# Soll eine eMail bei I.O. gesendet werden? 1 = Ja , 0 = Nein
eMailIO="1"


# Soll ipc.cfg eMail Einstellungen verwendet werden? 1 = Ja , 0 = Nein
IPCeMail="1"


# eMail Einstellungen wenn IPCeMail="0" ist!
SMTPFROM=""
SMTPTO=""
SMTPSERVER=""
SMTPUSER=""
SMTPPASS=""
SMTPTLS=""


#
## Ende der Konfiguration
#


# Auslesen der Enigma Version
version=${SETTING##*_}


if [ "$version" = e1 ]; then
ENIGMA="enigma1"
fi


if [ "$version" = e2 ]; then
ENIGMA="enigma2"
else
echo "enigma nicht erkannt"
fi


# Auslesen der eMail Daten aus ipc.cfg
if [ "$IPCeMail" = 1 ]; then
. /var/emu/conf/ipc.cfg
fi


# Auslesen ob TLS verwendet werden soll
if [ "$SMTPTLS" = 1 ]; then
OPT="-o tls=yes" 
fi


TEMPdir=/tmp/settings
enigma1dir="/media/daten/www/settings/original/$SETTING/"
enigma2dir="/media/daten/www/settings/original/$SETTING/"
Files2Pack2="satellites.xml terrestrial.xml cables.xml timezone.xml"
Files2Pack1="$Files2Pack2 *.tv *.radio lamedb blacklist settings whitelist userbouquet.* services"
PakFiles=""
ST="time.txt"
[ -z "$COLORED" ] && COLORED=0


#- functions


#error handling
_error() {
    if [ $1 -gt 0 ]; then
        [ -z "$2" ] && message="Es ist ein Fehler aufgetreten" || message=$2
            echo "$message"
			echo "Abbruch"
			if [ "$eMailFehler" = 1 ]; then
			sendEmail -f $SMTPFROM -t $SMTPTO -u "Fehler $SETTING packen!" $OPT -s $SMTPSERVER -xu $SMTPUSER -xp $SMTPPASS -m Hallo Daniel, heut am $(date) konnte die $SETTING Settings nicht gepackt werden. $message
			fi
        exit 1
    fi
}


#collect files to pack
collectFiles() {
    # source dir = $1
    # Files2Pack = $2
    cd $1
    FILES=$(ls)
    for file in $FILES; do
        validfile=0
        for wantedfile in $2; do
            crapfile=0
            if [ "$file" = "$wantedfile" ]; then
                case $file in
                    *_bak) crapfile=1 ;;
                    *_org) crapfile=1 ;;
                esac
                [ "$crapfile" = 0 ] && validfile=1
            fi
        done
        [ "$validfile" = 1 ] && PakFiles="$PakFiles $1$file"
    done
}


#- main code


#falls ENIGMA leer -> versuche ENIGMA version zu ermitteln
if [ -z "$ENIGMA" ]; then
    [ -d "$enigma1dir" ] && ENIGMA="enigma1"
    [ -d "$enigma2dir" ] && ENIGMA="enigma2"
    if [ -z "$ENIGMA" ]; then
        _error 1 "Kann die ENIGMA Version nicht ermitteln! Bitte manuell im Script festlegen!"
    fi
else
    # prüfe gültige ENIGMA einstellung
    if [ "$ENIGMA" != "enigma1" ] && [ "$ENIGMA" != "enigma2" ]; then
        _error 1 "Die Script Einstellung ENIGMA ist fehlerhaft!\n Gueltige Einstellung: ENIGMA=\"enigma1\" oder ENIGMA=\"enigma2\""
    fi
fi


# Name der gepackten Bouquets Datei
BQ="${ENIGMA}.tar.gz"


[ "$ENIGMA" = "enigma1" ] && srcDIR=$enigma1dir
[ "$ENIGMA" = "enigma2" ] && srcDIR=$enigma2dir


#zu packende dateien ermitteln: enigma1 & enigma2
collectFiles "$srcDIR" "$Files2Pack1"




#dateien zum packen vorbereiten
echo "Bereite Dateien zum packen vor.."
mkdir -p $TEMPdir/$ENIGMA
cp -rf $PakFiles $TEMPdir/$ENIGMA/
_error $? "Es ist ein Fehler aufgetreten (zu packende dateien kopieren)"


#archive erstellen
echo "Erstelle Archive.."
cd $TEMPdir
tar -cz $ENIGMA > $TEMPdir/$BQ
_error $? "Es ist ein Fehler aufgetreten (archive erstellen)"
[ ! -s "$TEMPdir/$BQ" ] && _error 1 "Es ist ein Fehler aufgetreten (ersteltes archive hat 0 bytes)"
echo "Archive $TEMPdir/$BQ erfolgreich erstellt ($(echo `du -sh $TEMPdir/$BQ` | cut -d' ' -f 1))"
if [ "$eMailIO" = 1 ]; then
sendEmail -f $SMTPFROM -t $SMTPTO -u "$SETTING packen erfolgreich!" $OPT -s $SMTPSERVER -xu $SMTPUSER -xp $SMTPPASS -m Hallo Daniel, heut am $(date) konnte die $SETTING Settings erfolgreich gepackt werden.
fi


#time.txt erzeugen (format: unixtimestamp)
TIMESTAMP=$(date +%s)
echo $TIMESTAMP > $TEMPdir/$ST
echo "$TEMPdir/$ST erfolgreich erstellt ($TIMESTAMP)"


cp -rf /$TEMPdir/$BQ $REMOTE
cp -rf /$TEMPdir/$ST $REMOTE


exit 0
 
Zuletzt bearbeitet:
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Also bei mir ist da snoch ziemlich verbugt..
Für ich das Script aus, kommt der Hinweis "Neue Liste steht zum Download bereit" okay download gemacht..
Für das Script erneut aus, bekomm dann aber wieder einen Hinweis neue "Liste zum Download" (Sollte ja nicht mehr kommen da ich ja grad ein Update gemacht habe)
Und 2 Sek später wird der Hinweis von einer Neuen Message überschrieben mit dem Hinweis "Willst du nochmal erinnert werden" klick ich das mit ja weg habe ich wieder den ersten Hinweis mit "Neue Liste" und bricht das update mit ja ab
Für ich das Script aus gehts wieder von vorn los, eine "timelucron.txt" wird auch nicht erstellt, oder muss ich das von "hand" machen?

Code:
root@dm800se:/etc/cron/scripts# ./check_bq.sh
Pruefe ob ein Update der Bouquets vorhanden ist..
Connecting to localhost:80 (127.0.0.1:80)
null                 100% |*******************************|   161   0:00:00 ETA
Connecting to localhost:80 (127.0.0.1:80)
-                    100% |*******************************|   149   0:00:00 ETA
Connecting to localhost:80 (127.0.0.1:80)
null                 100% |*******************************|   161   0:00:00 ETA
rm: can't remove '/etc/timeluCron.txt': No such file or directory
root@dm800se:/etc/cron/scripts#

Edit:
Dachte grad wär mein Fehler, Weil ich
Code:
# Ob eine Ausgabe bei Kein Update und Fehlern gemacht werden soll 0 = Nein , 1 = JaAUSGABE="0"

Auf "1" hatte...
Hab den wert geändert auf "0"  führ das Script aus
Erscheint sofort der Hinweis "Update vorhanden" (eigentlich keines vorhanden, aktuellstes ist drauf)
Und 2 Sek wird das Update ausgeführt ohne iwas gemacht zu haben..
 
Zuletzt bearbeitet:
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hi,

also packen hat jetzt hingehauen. Wenn ich aber jetzt auf meiner Dream "get_bq.sh ausführe, bekomme ich:
root@dm800se:/usr/script# ./get_bq.sh
./get_bq.sh: line 7: $'\r': command not found
./get_bq.sh: line 8: $'\r': command not found
./get_bq.sh: line 10: $'\r': command not found
./get_bq.sh: line 11: $'\r': command not found
./get_bq.sh: line 14: $'\r': command not found
./get_bq.sh: line 15: $'\r': command not found
./get_bq.sh: line 18: $'\r': command not found
./get_bq.sh: line 19: $'\r': command not found
./get_bq.sh: line 22: $'\r': command not found
./get_bq.sh: line 23: $'\r': command not found
./get_bq.sh: line 26: $'\r': command not found
./get_bq.sh: line 27: $'\r': command not found
./get_bq.sh: line 30: $'\r': command not found
./get_bq.sh: line 31: $'\r': command not found
./get_bq.sh: line 34: $'\r': command not found
./get_bq.sh: line 35: $'\r': command not found
./get_bq.sh: line 38: $'\r': command not found
./get_bq.sh: line 39: $'\r': command not found
./get_bq.sh: line 42: $'\r': command not found
./get_bq.sh: line 43: $'\r': command not found
./get_bq.sh: line 47: $'\r': command not found
./get_bq.sh: line 48: $'\r': command not found
./get_bq.sh: line 59: syntax error near unexpected token `$'in\r''
'/get_bq.sh: line 59: `case $SERVERurl in
root@dm800se:/usr/script#

Ich habe meinen Server aber auch nicht mit Passwort konfiguriert sondern ausschliesslich über auth keys. Muss ich da noch was ändern??

Grüße Rooki
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

@ rooki_1: am Post 106 hast das Script am Igel benutzt und jetzt wieder auf der Dream. Meine pack_* scripte laufen auf dem Server nicht auf der dream. Was möchtest nutzen? dann kann man dort besser helfen.

@ UncleC: ich prüfe es mal. Konnte es noch nicht prüfen deswegen habe ich es gepostet zum testen.
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hi lügnix,

ich habe dein packscript auf dem Igel ausgeführt. eine Datei astra_e2 liegt daraufhin im ordner /media/daten/www/settings Ich denke das ist soweit ok. In tmp/settings liegt ein Ordner enigma2 eine enigma2.tar.gz und eine time.txt. Das sieht doch mal nicht schlecht aus oder.

Dann habe ich die get_bq.sh und die vpn.sh auf die dreambox unter usr/script gelegt. Die get_bq.sh mit ./ gestartet, dann kam der obige Fehler.

Sind die scripte da nicht richtig? Hab ich ein Verständnissproblem??

Grüße Rooki
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

achso okay.

Rechte sind gesetzt? ich führe den Befehl immer so aus /usr/script/get_bq.sh. Ist OpenVPN installiert?

bei mir liegt die enigma2.tar.gz und die time.txt auf /media/daten/www/settings/astra_e2/
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hi,
also rechte sind 755, Openvpn ist installiert und gestartet. Die ca.crt, client.crt, client.key und Vpn-freetz.ovpn liegen auch in /etc/openvpn

Warum liegen denn deine Dateien im Server woanders?? Ich habe doch dein script ausgeführt.

#!/bin/sh
#
# packt Settings in *.tar.gz und erstellt time.txt Version 1.1
#
#
# Hier angeben um welchen Setting es handelt. (astra_e1, astra_e2, hotbird_e1 oder hotbird_e2)
# Enigma Verison enigma1 oder enigma2
ENIGMA="enigma2"
SETTING="astra_e2"


REMOTE="/media/daten/www/settings/$SETTING"


# Soll eine eMail bei Fehler gesendet werden? 1 = Ja , 0 = Nein
eMailFehler="1"


# Soll eine eMail bei I.O. gesendet werden? 1 = Ja , 0 = Nein
eMailIO="1"


# Soll ipc.cfg eMail Einstellungen verwendet werden? 1 = Ja , 0 = Nein
IPCeMail="0"


# eMail Einstellungen wenn IPCeMail="0" ist!
SMTPFROM="xxx.de"
SMTPTO="xxx.de"
SMTPSERVER="xxx.de"
SMTPUSER="xxxxxxx"
SMTPPASS="xxxxxxx"
SMTPTLS=""


#
## Ende der Konfiguration
#


if [ "$IPCeMail" = 1 ]; then
. /var/emu/conf/ipc.cfg
fi


if [ "$SMTPTLS" = 1 ]; then
OPT="-o tls=yes"
fi


TEMPdir=/tmp/settings
enigma1dir="/media/daten/www/settings/original/$SETTING/"
enigma2dir="/media/daten/www/settings/original/$SETTING/"
Files2Pack2="satellites.xml terrestrial.xml cables.xml timezone.xml"
Files2Pack1="$Files2Pack2 *.tv *.radio lamedb blacklist settings whitelist userbouquet.* services"
PakFiles=""
ST="time.txt"
[ -z "$COLORED" ] && COLORED=0


#- functions


#error handling
_error() {
if [ $1 -gt 0 ]; then
[ -z "$2" ] && message="Es ist ein Fehler aufgetreten" || message=$2
echo "$message"
echo "Abbruch"
if [ "$eMailFehler" = 1 ]; then
sendEmail -f $SMTPFROM -t $SMTPTO -u "Fehler $SETTING packen!" $OPT -s $SMTPSERVER -xu $SMTPUSER -xp $SMTPPASS -m Hallo Marco, heute am $(date) konnte die $SETTING Settings nicht gepackt werden. $message
fi
exit 1
fi
}


#collect files to pack
collectFiles() {
# source dir = $1
# Files2Pack = $2
cd $1
FILES=$(ls)
for file in $FILES; do
validfile=0
for wantedfile in $2; do
crapfile=0
if [ "$file" = "$wantedfile" ]; then
case $file in
*_bak) crapfile=1 ;;
*_org) crapfile=1 ;;
esac
[ "$crapfile" = 0 ] && validfile=1
fi
done
[ "$validfile" = 1 ] && PakFiles="$PakFiles $1$file"
done
}


#- main code


#falls ENIGMA leer -> versuche ENIGMA version zu ermitteln
if [ -z "$ENIGMA" ]; then
[ -d "$enigma1dir" ] && ENIGMA="enigma1"
[ -d "$enigma2dir" ] && ENIGMA="enigma2"
if [ -z "$ENIGMA" ]; then
_error 1 "Kann die ENIGMA Version nicht ermitteln! Bitte manuell im Script festlegen!"
fi
else
# prüfe gültige ENIGMA einstellung
if [ "$ENIGMA" != "enigma1" ] && [ "$ENIGMA" != "enigma2" ]; then
_error 1 "Die Script Einstellung ENIGMA ist fehlerhaft!\n Gueltige Einstellung: ENIGMA=\"enigma1\" oder ENIGMA=\"enigma2\""
fi
fi


# Name der gepackten Bouquets Datei
BQ="${ENIGMA}.tar.gz"


[ "$ENIGMA" = "enigma1" ] && srcDIR=$enigma1dir
[ "$ENIGMA" = "enigma2" ] && srcDIR=$enigma2dir


#zu packende dateien ermitteln: enigma1 & enigma2
collectFiles "$srcDIR" "$Files2Pack1"


#zu packende dateien ermitteln: enigma2
[ "$ENIGMA" = "enigma2" ] && collectFiles "srcDIR" "$Files2Pack2"


#dateien zum packen vorbereiten
echo "Bereite Dateien zum packen vor.."
mkdir -p $TEMPdir/$ENIGMA
cp -rf $PakFiles $TEMPdir/$ENIGMA/
_error $? "Es ist ein Fehler aufgetreten (zu packende dateien kopieren)"


#archive erstellen
echo "Erstelle Archive.."
cd $TEMPdir
tar -cz $ENIGMA > $TEMPdir/$BQ
_error $? "Es ist ein Fehler aufgetreten (archive erstellen)"
[ ! -s "$TEMPdir/$BQ" ] && _error 1 "Es ist ein Fehler aufgetreten (ersteltes archive hat 0 bytes)"
echo "Archive $TEMPdir/$BQ erfolgreich erstellt ($(echo `du -sh $TEMPdir/$BQ` | cut -d' ' -f 1))"
if [ "$eMailIO" = 1 ]; then
sendEmail -f $SMTPFROM -t $SMTPTO -u "$SETTING packen erfolgreich!" $OPT -s $SMTPSERVER -xu $SMTPUSER -xp $SMTPPASS -m Hallo Marco, heute am $(date) konnte die $SETTING Settings erfolgreich gepackt werden.
fi


#time.txt erzeugen (format: unixtimestamp)
TIMESTAMP=$(date +%s)
echo $TIMESTAMP > $TEMPdir/$ST
echo "$TEMPdir/$ST erfolgreich erstellt ($TIMESTAMP)"


cp -rf /$TEMPdir/$BQ $REMOTE
cp -rf /$TEMPdir/$ST $REMOTE


exit 0
 
Zuletzt bearbeitet von einem Moderator:
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Dort wird mit meinem Script die enigma2.tar.gz und time.txt angelegt.
/tmp ... wird nur als Zwischenspeicher benutzt
besteht der Ordner /media/daten/www/settings/astra_e2
oder /media/daten/www/settings/hotbird_e2 ???


dort müssten die sattelits.xml lamedb ... einzel drin sein
Sowie /media/daten/www/original/astra_e2
oder /media/daten/www/original/hotbird_e2
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hi,

also Ordner /media/daten/www/settings/astra_e2 besteht was kommt hier alles rein?

dann hab ich noch /media/daten/www/original/astra_e2 hier hab ich mal alle Files von dreamboxedit reinkopiert.

Dann kommt:
Code:
root@IGEL-SERVER:/usr/script# ./pack_astra_e2.sh
cd: 128: can't cd to /media/daten/www/settings/original/astra_e2/
cd: 132: can't cd to srcDIR
Bereite Dateien zum packen vor..
cp: missing destination file operand after `/tmp/settings/enigma2/'
Try `cp --help' for more information.
Es ist ein Fehler aufgetreten (zu packende dateien kopieren)
Abbruch
Sep 01 16:37:35 igel-server sendEmail[25814]: Email was sent successfully!
root@IGEL-SERVER:/usr/script#

Gruß Rooki
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Ist es möglich per cronjob auf newnigma2 Images die settings zu Updaten ?


Sent from my iPhone
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Klar, mach ich auch so..

Gesendet von meinem Nexus 4 mit Tapatalk 2
 
Sag mal bitte wie ? Hab mir cron installiert aber zeigt er nicht an !

Thx



Sent from my iPhone

cron_bg.sh prüft ob Updates da sind und wenn ja führt es die get_bg.sh aus, verstehe ich das so richtig ? Beide Dateien im Ordner usr/script/ auf der Dreambox

THX

Hi,
Ist es möglich das das Script unter Erweiterungen zu sehen ist ?


Sent from my iPhone
 
Zuletzt bearbeitet von einem Moderator:
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hi @ All,

hier ein paar Vorschläge und Neuerungen.

statt die Box neu starten zu lassen nach erfolgreichen Update der Sendeliste würde ich vorschlagen das der Code

Reboot der Box
Code:
http://127.0.0.1/web/powerstate?newstate=2

Gui Neustart
Code:
http://127.0.0.1/web/powerstate?newstate=3

geändert wird. Habe ich zumindest bei mir und es funktiniert.

Dann habe ich noch das Plugin jetzt in Erweiterung drin hier die Anleitung

im Ordner /usr/lib/enigma2/python/Plugins/Extensions einen Ordner für das neue Plugin anlegen

z.B. Senderliste über Telnet

Code:
 mkdir /usr/lib/enigma2/python/Plugins/Extensions/Senderliste
Rechte 755
Code:
 chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/Senderliste
die Datei __init__.py muss immer vorhanden sein, kann aber auch "leer" sein
also mal eine leere __init__.py erstellen
Code:
 touch /usr/lib/enigma2/python/Plugins/Extensions/Senderliste/__init__.py
dann brauchen wir dann eine plugin.py in der man in Python coded
Code:
 touch /usr/lib/enigma2/python/Plugins/Extensions/Senderliste/plugin.py
Dann mit einem Linux Editor (DCC, PS-Pad Editor etc.) die plugin.py bearbeiten

sieht dann so aus:
Code:
from Plugins.Plugin import PluginDescriptor
from Screens.Console import Console

cmd = "/usr/script/cron_bq.sh"

def main(session, **kwargs):
    session.open(Console,_("Senderliste aktualisieren"),[cmd])
    
def Plugins(**kwargs):
    return [PluginDescriptor(name="Senderliste", description=_("Hiermit können Sie Ihre Senderliste aktualisieren. Es wird überprüft ob eine neue Liste Online vorliegt."), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
            PluginDescriptor(name="Senderliste", description=_("Hiermit können Sie Ihre Senderliste aktualisieren. Es wird überprüft ob eine neue Liste Online vorliegt."), where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)]

Ich hoffe Euch gefällt es.
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hi,

habe jetz die pack_bq.sh auf meinem Igel am laufen.

Nun wollte ich mit meiner Dreambox zum test die Senderliste abholen (get_bq.sh) habe openvpn am laufen und ein ping auf die Fritzbox funktioniert über die dyndns adresse auch.

Ich bekomme allerdings nach "verbindung wird aufgebaut" ein:
Code:
root@dm800se:~# cd /usr/script                                      
root@dm800se:/usr/script# ./get_bq.sh                               
VPN Verbindung wird aufgebaut                                       
Pruefe ob ein Update der Bouquets noetig ist..                      
wget: can't connect to remote host (xx.xx.xxx.92): No route to host 
Es ist ein Fehler aufgetreten (download time.txt)                   
Abbruch                                                             
VPN Verbindung wird wegen eines Fehlers abgebaut                    
openvpn is not running                                              
root@dm800se:/usr/script#

Hat einer ne Idee??

Gruß Rooki

Edit:

hatte nicht gewusst dass man den openvpn-Dienst als client manuell starten muss (openvpn --config /etc/openvpn/openvpn.conf &)

Habe jetzt aber das nächste Problem:
Code:
Fri Sep  6 19:17:19 2013 TLS Error: TLS handshake failed                       
Fri Sep  6 19:17:19 2013 SIGUSR1[soft,tls-error] received, process restarting  
Fri Sep  6 19:17:19 2013 Restart pause, 2 second(s)                            
Fri Sep  6 19:17:21 2013 Socket Buffers: R=[163840->131072] S=[163840->131072] 
Fri Sep  6 19:17:21 2013 UDPv4 link local: [undef]                             
Fri Sep  6 19:17:21 2013 UDPv4 link remote: [AF_INET]xx.xx.xxx.xx:1194
 
Zuletzt bearbeitet:
Zurück
Oben