Quantcast
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

Settings über eigenen Server laden möglich

amassidda

Meister
Registriert
30. Mai 2010
Beiträge
821
Reaktionspunkte
394
Punkte
123
WICHTIGES UPDATE

Hallo Leute

Auf anfrage von Usern habe ich mich ein bisschen bemüht um mein Script etwas Benutzerfreundlicher zu machen.


"Dies kann man auch weg lassen wenn man den Standardport behalten möchte"
--------------------------------------------------------------------------------------------
/etc/apache2/port.conf ändern und sieht folgendermasen aus:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz

NameVirtualHost *:Port

Listen Port

usw. ...


Dort einfach die beiden "Port" ändern z.B. in 55000

speichern und dann über Putty das hier ausführen: /etc/init.d/apache2 restart

ACHTUNG: Euer IPC ist nicht mehr standard errecihbar sprich über IP:80 oder IP/ipc sondern über den neuen Port den wir oben vergeben haben in unserem Fall IP:55000

---------------------------------------------------------------------------------------------------


Dies kann weggelassen werden fals man keine USER PASSWORT abfrage haben möchte!
---------------------------------------------------------------------------------------------------


Wenn man möchte kann man das ganze auch noch Sichern mit einem USER und PASSWORT

Beim PASSWORT dürfen keine Sonderzeichen wie z.B. : üöä+#,.-;:_'*°^!"§$%&/()=?´`<>{}[]\²³@€|µ
benutzt werden

Dazu muss man Folgendes machen:

Logt euch mit eurem Server über Putty oder älichem ein und führ folgendes aus:

cd /var/www oder cd /var/www/EUREN ORDNER --> je nach dem ob ihr den Schutz für alles wollt also IPC und Settings oder nur für den Setting Ordner

aktiviert nun euren Schutz indem ihr folgenden Befehl ausführt:

nano .htaccess

und das hier dort eintragen:
AuthName "Authorization required"
AuthType Basic
AuthUserFile /var/htpasswd
AuthGroupFile /dev/null
require valid-user

Die Datei für die USER legt ihr in /var/ an die heist dann: .htpasswd

Und sieht dann folgendermasen aus: login:passwort-----------------> also USER:Passwort

Durch das anlegen dieser Abfrage wird auch euer IPC Webinterface nach einem USER und PASSWORT fragen bevor ihr zum Webinterface gelangt.

Ausser ihr erstellt die .htaccess nur in eurem Setting ORDNER.

-----------------------------------------------------------------------------


Eure Settings speichert ihr in einem Ordner Namens "enigma2" und packt ihn am besten mit 7zip als .tar speichern

Nennt jetzt die neue umgewandelte Datei enigma2.tar falls sie nicht schon so heißt

Erstellt am besten einen neuen Ordner z. B. "Settings" und ladet dort die Datei hinein.

Jetzt rauf auf den Server unter /var/www/"EUREN ORDNER".

Dort im Ordner noch eine time.txt erstellen mit dem Datum der letzten Änderung in diesem Format:

JAHRMONATTAG also so 20130713

Zum schluss noch das Script in

/etc/cron/scripts

mit den Attributen 755 als .sh Datei kopieren-------> könnt ihr nennen wie ihr wollt. Ich habe es Settings.sh gennant

"Falls der Ordner nicht vorhanden ist kann man ihn erstellen"

Erstellt eine timelu.txt mit dem Datumsformat: JAHRMONATTAG also so 19700101

Diese kopiert ihr auf eure Dreambox nach

/etc/

Beim TS Image : Blau, Werkzeug, Cronmanager, Blau, (Script) um das Script auszuführen

Bei New Enigma2 mit dem DreamExplorer ausführen: /etc/cron/script/

Hier für euch jetzt das Script für Enigma 2 ohne USER PASSWORT abfrage:

#!/bin/sh
#BESCHREIBUNG=Herunterladen, Installation & Reload Enigma2 Bouquets
#Die URL auf eure eigene URL umändern wo das tar file liegt
BQ="http://DYNDNS:PORT/ORDNER/enigma2.tar"
BG="enigma2.tar"
#Die URL auf eure eigene URL umändern wo das tar file liegt
ST="http://DYNDNS:PORT/ORDNER/time.txt"
## Bouquet Download, Prüfung, Installation + Reload ##
cd /tmp/
wget $BQ
wget $ST
chmod 755 /tmp/enigma2.tar
chmod 755 /tmp/time.txt

#Speichern des Inhalts von timelu.txt und time in einer Variablen
export timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
export timen=$(cat /tmp/time.txt | head -n1 | tail -n1)

if [ -s $BG ]; then
echo "Server Online"
else
echo "Server Offline, bitte spaeter nochmal versuchen!"
fi

#Vergleich: Ist timelu kleiner als timen ?#
if [ $timelu -lt $timen ];then

tar -xvf enigma2.tar

if [ -s /tmp/enigma2 ]; then
echo "Entpacken erfolgreich"

echo "Lade Senderliste"

cd /tmp/enigma2
mv /tmp/enigma2/satellites.xml /etc/tuxbox/

cd /etc/enigma2
rm -rf *.tv
rm -rf *.radio
rm -rf blacklist
rm -rf lamedb
mv /tmp/enigma2/* /etc/enigma2

rm -rf /tmp/enigma2
rm -rf /tmp/enigma2.tar

wget -qO -
wget -qO -

#Speichern der time.txt in timelu.txt
cd /etc
rm -rf /etc/timelu.txt
touch timelu.txt
echo "$timen" >> /etc/timelu.txt
rm -rf /tmp/time.txt

echo "Update erfolgreich abgeschlossen"

else
echo "Entpacken fehlgeschlagen, bitte Datei prüfen!"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma2.tar
fi

else
echo "Senderliste aktuell"
echo "Kein Update noetig"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma2.tar
fi


Hier für euch jetzt das Script für Enigma 2 mit USER PASSWORT abfrage:


#!/bin/sh
#BESCHREIBUNG=Herunterladen, Installation & Reload Enigma2 Bouquets
#Die URL auf eure eigene URL umändern wo das tar file liegt
BQ="http://USER:PASSWORT@DYNDNS:PORT/ORDNER/enigma2.tar"
BG="enigma2.tar"
#Die URL auf eure eigene URL umändern wo das tar file liegt
ST="http://USER:PASSWORT@DYNDNS:PORT/ORDNER/time.txt"
## Bouquet Download, Prüfung, Installation + Reload ##
cd /tmp/
wget $BQ
wget $ST
chmod 755 /tmp/enigma2.tar
chmod 755 /tmp/time.txt

#Speichern des Inhalts von timelu.txt und time in einer Variablen
export timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
export timen=$(cat /tmp/time.txt | head -n1 | tail -n1)

if [ -s $BG ]; then
echo "Server Online"
else
echo "Server Offline, bitte spaeter nochmal versuchen!"
fi

#Vergleich: Ist timelu kleiner als timen ?#
if [ $timelu -lt $timen ];then

tar -xvf enigma2.tar

if [ -s /tmp/enigma2 ]; then
echo "Entpacken erfolgreich"

echo "Lade Senderliste"

cd /tmp/enigma2
mv /tmp/enigma2/satellites.xml /etc/tuxbox/

cd /etc/enigma2
rm -rf *.tv
rm -rf *.radio
rm -rf blacklist
rm -rf lamedb
mv /tmp/enigma2/* /etc/enigma2

rm -rf /tmp/enigma2
rm -rf /tmp/enigma2.tar

wget -qO -
wget -qO -

#Speichern der time.txt in timelu.txt
cd /etc
rm -rf /etc/timelu.txt
touch timelu.txt
echo "$timen" >> /etc/timelu.txt
rm -rf /tmp/time.txt

echo "Update erfolgreich abgeschlossen"

else
echo "Entpacken fehlgeschlagen, bitte Datei prüfen!"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma2.tar
fi

else
echo "Senderliste aktuell"
echo "Kein Update noetig"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma2.tar
fi

Für Enigma 1 muss das ganze wie folgt gemacht werden:

Eure Settings speichert ihr in einem Ordner Namens "enigma1" und packt ihn am besten mit 7zip als .tar

Nennt jetzt die neue Datei enigma1.tar falls sie nicht so heißt

Jetzt rauf auf den Server unter /var/www/"EUREN ORDNER".

Dort im Ordner noch eine time.txt erstellen mit dem Datum der letzten Änderung in diesem Format:

JAHRMONATTAG also so 20130713

Zum schluss noch das Script in

/etc/scripts

mit den Attributen 755 als .sh Datei kopieren-------> könnt ihr nennen wie ihr wollt. Ich habe es Settings.sh gennant

"Falls der Ordner nicht vorhanden ist kann man ihn erstellen"

Erstellt eine timelu.txt mit dem Datumsformat: JAHRMONATTAG also so 19700101

Diese kopiert ihr auf eure Dreambox nach

/etc/

Hier das Script für Enigma 1 Reciver mit USER PASSWORT:

#!/bin/sh
#BESCHREIBUNG=Herunterladen, Installation & Reload Enigma2 Bouquets
#Die URL auf eure eigene URL umändern wo das tar file liegt
BQ="http://USER:PASSWORT@DYNDNS:PORT/ORDNER/enigma1.tar"
BG="enigma1.tar"
#Die URL auf eure eigene URL umändern wo das tar file liegt
ST="http://USER:PASSWORT@DYNDNS:PORT/ORDNER/time.txt"

cd /tmp/
wget $BQ
wget $ST
chmod 755 /tmp/enigma1.tar
chmod 755 /tmp/time.txt

#Speichern des Inhalts von timelu.txt und time in einer Variablen
export timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
export timen=$(cat /tmp/time.txt | head -n1 | tail -n1)

if [ -s $BG ]; then
echo "Server Online"
else
echo "Server Offline, bitte spaeter nochmal versuchen!"
fi
#Vergleich: Ist timelu kleiner als timen ?#
if [ $timelu -lt $timen ];then

tar -xvf enigma1.tar

if [ -s /tmp/enigma1 ]; then
echo "Entpacken erfolgreich"

cd /tmp/enigma1

cd /var/tuxbox/config/enigma/
rm -rf *.tv
rm -rf *.radio
rm -rf *.epl
rm -rf bouquets
rm -rf services
rm -rf services.locked

mv /tmp/enigma1/* /var/tuxbox/config/enigma/

#Speichern der time.txt in timelu.txt
cd /etc
rm -rf /etc/timelu.txt
touch timelu.txt
echo "$timen" >> /etc/timelu.txt
rm -rf /tmp/time.txt
rm -rf /tmp/enigma1
rm -rf /tmp/enigma1.tar
echo "Update erfolgreich abgeschlossen"
echo "Starte neu um Update wirksam zu machen"

#wget -q
reboot

else
echo "Entpacken fehlgeschlagen, bitte Datei prüfen!"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma1.tar
fi

else
echo "Senderliste aktuell"
echo "Kein Update noetig"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma1.tar
fi

Hier das Script für Enigma 1 Reciver ohne USER PASSWORT:

#!/bin/sh
#BESCHREIBUNG=Herunterladen, Installation & Reload Enigma2 Bouquets
#Die URL auf eure eigene URL umändern wo das tar file liegt
BQ="http://DYNDNS:PORT/ORDNER/enigma1.tar"
BG="enigma1.tar"
#Die URL auf eure eigene URL umändern wo das tar file liegt
ST="http://DYNDNS:PORT/ORDNER/time.txt"

cd /tmp/
wget $BQ
wget $ST
chmod 755 /tmp/enigma1.tar
chmod 755 /tmp/time.txt

#Speichern des Inhalts von timelu.txt und time in einer Variablen
export timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
export timen=$(cat /tmp/time.txt | head -n1 | tail -n1)

if [ -s $BG ]; then
echo "Server Online"
else
echo "Server Offline, bitte spaeter nochmal versuchen!"
fi
#Vergleich: Ist timelu kleiner als timen ?#
if [ $timelu -lt $timen ];then

tar -xvf enigma1.tar

if [ -s /tmp/enigma1 ]; then
echo "Entpacken erfolgreich"

cd /tmp/enigma1

cd /var/tuxbox/config/enigma/
rm -rf *.tv
rm -rf *.radio
rm -rf *.epl
rm -rf bouquets
rm -rf services
rm -rf services.locked

mv /tmp/enigma1/* /var/tuxbox/config/enigma/

#Speichern der time.txt in timelu.txt
cd /etc
rm -rf /etc/timelu.txt
touch timelu.txt
echo "$timen" >> /etc/timelu.txt
rm -rf /tmp/time.txt
rm -rf /tmp/enigma1
rm -rf /tmp/enigma1.tar
echo "Update erfolgreich abgeschlossen"
echo "Starte neu um Update wirksam zu machen"

#wget -q
reboot

else
echo "Entpacken fehlgeschlagen, bitte Datei prüfen!"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma1.tar
fi

else
echo "Senderliste aktuell"
echo "Kein Update noetig"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma1.tar
fi

Das Enigma 2 Script wurde getestet auf: TS Image, New Enigma 2, OpenPli und Merlin

Das Enigma 1 Script wurde getestet auf: Gemini auf DM 7000/7020

Die Script sind für mich so wie sie sind in Ordnung und funktionieren auch auf den oben aufgezählten Images.

Würde mich freuen wenn es auch auf anderen Images läuft und hier berichtet wird damit das hier hinzugefügt werden kann.

Für andere Scripts bin ich nicht zuständig ausser für meine und gebe darauf auch kein Support da ich nicht der Programmiere davon bin

Viel Spaß

amassidda
 
Zuletzt bearbeitet:
AW: Settings über eigenen Server laden möglich

UPDATE

Bin jetzt nicht mehr so weit entfernt

Die enigma2.tar Datei wird mittlerweile von der Dreambox auf /tmp geladen

nur habe ich noch ein problem mit dem Entpacken/Installieren

Benutze das TS Image und starte das Script mit Cron

gruß

amassidda
 
AW: Settings über eigenen Server laden möglich

So Leute nach langem machen habe ich es hinbekommen :D

Da ich euch das gerne teilen möchte damit ihr das auch haben könnt und euch so Zeit spart gebe ich euch mein fertiges Script.

Mir ist schon mal aufgefallen das dies je nach Image anderst ist deswegen weise ich gleich darauf hin das dieses Script auf dem TS Image, New Enigma 2 funktioniert

Hier das Script für das TS Image New Enigma 2:

#!/bin/sh
#BESCHREIBUNG=Downloadet, Installiert & Reloadet die neuen Enigma 2 Bouquets
#Ändert die URL um eure Bouquet tar.gz Datei zu laden

BQ="http://dyndns.org:Port/Ordner im Server"Settings"/enigma2.tar.gz"

## Bouquet Download, Installation + Reload ##
cd /tmp/
wget $BQ
chmod 755 /tmp/enigma2.tar.gz
tar -zxvf enigma2.tar.gz

cd /tmp/enigma2
mv /tmp/enigma2/satellites.xml /etc/tuxbox/

cd /etc/enigma2
rm -rf *.tv
rm -rf *.radio
rm -rf blacklist
rm -rf lamedb
mv /tmp/enigma2/* /etc/enigma2

rm -rf /tmp/enigma2
rm -rf /tmp/enigma2.tar.gz

wget -qO -
wget -qO -

Natürlich braucht ihr dafür euren eigenen Server.

Dazu rate ich euch vom Standard Port 80 ab. Ändert diesen um damit auch nicht jeder auf diese Boquest zugreiffe kann.

Dies könnt ihr unter /etc/apache2/port.conf ändern und sieht dann folgendermasen aus:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz

NameVirtualHost *:Port

Listen Port

usw. ...

Dort einfach die beiden "Port" ändern z.B. in 55000

speichern und dann über Putty das hier ausführen: /etc/init.d/apache2 restart

ACHTUNG: Euer IPC ist nicht mehr standard errecihbar sprich über IP:80 oder IP/ipc sondern über den neuen Port den wir oben vergeben haben in unserem Fall IP:55000

Eure Settings speichert ihr in einem Ordner Namens "enigma2" und packt ihn mit WinRar oder WinZip als ZIP, speichern und diese dann mit diesem Programm:Link ist nicht mehr aktiv.

als .tar.gz umwandeln.

Nennt jetzt die neue umgewandelte Datei enigma2.tar.gz

Jetzt rauf auf den Server.

Erstellt am besten einen neuen Ordner z. B. Settings und ladet dort die Datei hinein.

Am besten ist es das man das LOGIN in den Server mit einem .key verschlüsselt (Ist praktisch da nicht mehr das Passwort eingegeben werden muss). Wenn es mich nicht täuscht gibts hier auch ein How TO dazu.

So werden angriffe auf den Server einigermasen verhindert.

Zum schluss noch das Script in

TS Image: /etc/cron/scripts

mit den Attributen 755 als .sh Datei kopieren und das Script dann über das entsprechende Tool an der Dreambox laufen lassen

Beim TS Image : Blau, Werkzeug, Cronmanager, Blau, (Script)

Bei New Enigma2 mit dem DreamExplorer ausführen: /etc/cron/script/

Hoffe das es für euch genauso hilfreich ist wie mir (Wenn man drei Dreamboxen zu Hause hat schon nervig :D)

Natürlich freue ich mich wenn jemand mein Script auch auf anderen Imagen zum laufen bringt aber mit einer BITTE:

Stelle dies dann hier für andere zur verfügung schließlich sind wir das FORUM

danke an alle und viel Spaß mit meinem kleinem HOW TO

Fragen können gerne gestellt werden

gruß

amassidda

UPDATE

Images deren Script noch nicht erstellt/getestet wurde: Merlin und Gemini

Wichitger UPDATE:

Das Script Funktioniert mit dem Newenigma 2 Image aber nur wenn das script Setting.sh gennant wird.

Weiß nicht warum aber es geht :D

gruß

amassidda
 
Zuletzt bearbeitet:
AW: Settings über eigenen Server laden möglich

Wichitger UPDATE

Siehe OBEN

gruß

amassidda
 
AW: Settings über eigenen Server laden möglich

Erst mal heißt es wichtiges Update :emoticon-0126-nerd:

Aber egal :D


Mal ne kurze Frage, für was stehen die folgenden Befehle ?
wget -qO -
wget -qO -

So weit ich das sehe wird leider nicht geprüft auf welchem Stand die Bouquets auf der Dreambox ist, d.h bei jedem Neustart der Box wird die Senderliste neu gezogen.
Das verursacht nur unnötig Traffic und kostet Zeit (Stichwort Aufnahme bei Start aus dem Deep Standby).

Könnte man nicht mit einer if-Bedingung (wenn es so etwas bei sh Scripts gibt) zuerst Checken lassen auf welchem Stand die Senderliste ist.
Zum Beispiel wird zuerst mal ne .txt Datei vom Server gezogen und dann deren Inhalt überprüft und dann entschieden ob ein Update fällig ist oder nicht.
In der .txt Datei könnte zum Beispiel "True oder False" stehen und aufgrund dessen wird dann geupdatet oder nicht.

Oder man macht es so: Entweder es gibt einen Ordner auf dem Server mit ner neuen Senderliste oder nicht.
Aber was macht das Script wenn es die Dateien nicht vorfindet ?

Vielleicht könnte man auch noch eine Ausgabe auf dem Bildschirm machen in der dann steht das ein Update gemacht wurde ...


Viele Fragen und keine Antworten ...
Spätestens am Wochenende wede ich mich mal hinsetzen und das Script auf meiner Dreambox mit Merlin3 testen und mich mal an meine Fragen ranmachen :)

Bis dahin
Gruß

Youtube 18
 
AW: Settings über eigenen Server laden möglich

Also wenn die Datei nicht auf dem Server ist werden die vorhanden Services gelöscht heißt also die komplette Senderliste.

Das mit dem wget sind ein reload der Senderliste im Mode 1 und 2.

Mit dem sh Script kenne ich mich aber nicht so groß aus in Sachen IF und prüfen ob.

Das jetzige Script hat natürlich ein verbesserungsbedürftiges aussehen.

Freue mich schon darauf es gemeinsam mit euch zu verbessern und zu testen.

Gruß

amassidda
 
AW: Settings über eigenen Server laden möglich

Gute neuigkeiten

Habe das Script etwas verändert :D

Jetzt wird erst das File vom Server geladen und geprüft ob es auf der Dreambox vorhanden ist.
Falls JA wird die Senderliste eingespielt und die alte gelöscht.
Falls NEIN wird angezeigt das der Server Offline ist und man es später nochmal versuchen soll.

Habe das ganze jetzt auch für die Enigma 1 Reciver gemacht aber noch nicht testen können sollte aber kein Problem sein.

Hier für euch das Enigma2 script das unter Newenigma 2 und dem TS Image getestet wurde:

#!/bin/sh
#BESCHREIBUNG=Downloads, Installs & Reloads the latest Enigma2 Bouquets
#Die URL auf eure eigene URL umändern wo das tar.gz file liegt
BQ="http://URL:PORT/ORDNER/enigma2.tar.gz"
BG="enigma2.tar.gz"
## Bouquet Download, Prüfung, Installation + Reload ##
cd /tmp/
wget $BQ
chmod 755 /tmp/enigma2.tar.gz

if [ -s $BG ]; then
echo "Update vorhanden"
echo "Starte Update"

tar -zxvf enigma2.tar.gz

cd /tmp/enigma2
mv /tmp/enigma2/satellites.xml /etc/tuxbox/

cd /etc/enigma2
rm -rf *.tv
rm -rf *.radio
rm -rf blacklist
rm -rf lamedb
mv /tmp/enigma2/* /etc/enigma2

rm -rf /tmp/enigma2
rm -rf /tmp/enigma2.tar.gz

echo "Lade Senderliste neu"

wget -qO -
wget -qO -

echo "Update erfolgreich abgeschlossen"

else
echo "Server Offline, bitte spaeter nochmal versuchen!"
fi

Hier für Enigma1 noch nicht getestet sollte aber gehen:

#!/bin/sh
#BESCHREIBUNG=Downloads, Installs & Reloads the latest Enigma2 Bouquets
#Die URL auf eure eigene URL umändern wo das tar.gz file liegt
BQ="http://URL:PORT/ORDNER/enigma1.tar.gz"
BG="enigma1.tar.gz"
cd /tmp/

wget $BQ
chmod 755 /tmp/enigma1.tar.gz

if [ -s $BG ]; then
echo "Start Update"
tar -xzvf enigma1.tar.gz

cd /tmp/enigma1

cd /var/tuxbox/config/enigma/
rm -rf *.tv
rm -rf *.radio
rm -rf *.epl
rm -rf bouquets
rm -rf services
rm -rf services.locked

mv /tmp/enigma1/* /var/tuxbox/config/enigma/

rm -rf /tmp/enigma1
rm -rf /tmp/enigma1.tar.gz

#wget -q
reboot

else
echo Server Offline bitte spaeter nochmal versuchen
fi

Viel Spaß

gruß

amassidda
 
AW: Settings über eigenen Server laden möglich

Also noch 3 Stunden Google, Sh, Script und co. brummt mir ganz schön der Schädel :wacko1:

Aber ich habe jetzt das ultimative Script mit Datums Check :yahoo:



Vorraussetzung (einmalig nötig) für dieses Script sind:

1. Eine timelu.txt in /etc mit dem folgendem Inhalt
Code:
01011970

2. 755 Rechte für das Script :


Code:
#!/bin/sh
#BESCHREIBUNG=Downloads, Installs & Reloads the latest Enigma2 Bouquets
#Die URL auf eure eigene URL umändern wo das tar.gz file liegt
BQ="http://URL:PORT/ORDNER/enigma2.tar.gz"
ST="http://URL:PORT/ORDNER/time.txt"
BG="enigma2.tar.gz"
#Downloaden von time.txt vom Server
cd /tmp/
wget $ST
chmod 755 /tmp/time.txt

#Speichern des Inhalts von timelu.txt und time in einer Variablen
export timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
export timen=$(cat /tmp/time.txt | head -n1 | tail -n1)

 #Vergleich: Ist timelu kleiner als timen ?#
if [ $timelu -lt $timen ];then

echo "Update vorhanden"
echo "Starte Update"

#Download der Senderliste vom Server
wget $BQ
chmod 755 /tmp/enigma2.tar.gz

tar -zxvf enigma2.tar.gz

#Speichern der time.txt in timelu.txt
cd /etc
rm -rf /etc/timelu.txt
touch timelu.txt
echo "$timen" >> /etc/timelu.txt
rm -rf /tmp/time.txt

cd /tmp/enigma2
mv /tmp/enigma2/satellites.xml /etc/tuxbox/

cd /etc/enigma2
rm -rf *.tv
rm -rf *.radio
rm -rf blacklist
rm -rf lamedb
mv /tmp/enigma2/* /etc/enigma2

rm -rf /tmp/enigma2
rm -rf /tmp/enigma2.tar.gz

echo "Lade Senderliste neu"

wget -qO - http://127.0.0.1/web/servicelistreload?mode=1
wget -qO - http://127.0.0.1/web/servicelistreload?mode=2

echo "Update erfolgreich abgeschlossen"

#Timen ist kleiner oder gleich groß wie timelu
else
echo "Senderliste aktuell"
echo "Kein Update nötig"
rm -rf /tmp/time.txt
fi

sleep 2
exit 0

Ein Update der Senderliste wird angestoßen wenn das Datum in der timelu.txt (01011970 soll heißen 01.01.1970) kleiner ist als das Datum in der time.txt.
Wenn das Datum in der time.txt gleich ist wie in der timelu.txt oder das Datum in der timelu größer ist als das der time.txt dann passiert nix.


Klartext: Datum in der time.txt auf dem Server muss größer (aktueller) sein als das in der timelu.txt auf der Dreambox.
Datumsangabe immer ohne Punkt dazwischen. Also 04072013


Achja, das Script läuft 1A auf meiner Dream mit Merlin3 OE2.0




Gruß
Youtube18
 
Zuletzt bearbeitet:
AW: Settings über eigenen Server laden möglich

Das sieht recht interessant aus, werde mich damit morgen mal beschäftigen ;-) danke schon mal

Gesendet von meinem NexusHD2 mit Tapatalk 2
 
AW: Settings über eigenen Server laden möglich

Aber ich habe jetzt das ultimative Script mit Datums Check :yahoo:

Leider noch nicht ganz da bei dir jetzt der gleiche Fehler auftaucht wie bei mir davor und zwar:

Wenn der Server mal offline ist du aber das script startest es deine Senderliste löscht weil es nicht prüft ob es die enigma2.tar.gz runtergeladen hat.

Ist zwar nur ne kleinigkeit aber ausschlaggebend da sonst die ganze Senderliste die auf der Dreambox ist verloren geht.

Schaue mal was ich da noch machen kann.

Vielleicht bekommen wir es hin das geprüft wird ob das File enigma2.tar.gz vorhanden ist und ob das Datum aktuell ist oder nicht.

Erst dann ist es ultimativ :D

gruß

amassidda
 
AW: Settings über eigenen Server laden möglich

So jetzt ist es so weit

Script Ultimativ transformed :D

Hier für Enigma 2 Tested auf TS Image, New Enigma 2 und Merlin 3:

#!/bin/sh
#BESCHREIBUNG=Downloads, Installs & Reloads the latest Enigma2 Bouquets
#Die URL auf eure eigene URL umändern wo das tar.gz file liegt
BQ="http://URL:PORT/ORDNER/enigma2.tar.gz"
BG="enigma2.tar.gz"
ST="http://URL:PORT/ORDNER/time.txt"
## Bouquet Download, Prüfung, Installation + Reload ##
cd /tmp/
wget $BQ
wget $ST
chmod 755 /tmp/enigma2.tar.gz
chmod 755 /tmp/time.txt

#Speichern des Inhalts von timelu.txt und time in einer Variablen
export timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
export timen=$(cat /tmp/time.txt | head -n1 | tail -n1)

if [ -s $BG ]; then
echo "Server Online"
else
echo "Server Offline, bitte spaeter nochmal versuchen!"
fi
#Vergleich: Ist timelu kleiner als timen ?#
if [ $timelu -lt $timen ];then

echo "Starte Update"

tar -zxvf enigma2.tar.gz

cd /tmp/enigma2
mv /tmp/enigma2/satellites.xml /etc/tuxbox/

cd /etc/enigma2
rm -rf *.tv
rm -rf *.radio
rm -rf blacklist
rm -rf lamedb
mv /tmp/enigma2/* /etc/enigma2

rm -rf /tmp/enigma2
rm -rf /tmp/enigma2.tar.gz

echo "Lade Senderliste neu"

wget -qO -
wget -qO -

#Speichern der time.txt in timelu.txt
cd /etc
rm -rf /etc/timelu.txt
touch timelu.txt
echo "$timen" >> /etc/timelu.txt
rm -rf /tmp/time.txt

echo "Update erfolgreich abgeschlossen"

else
echo "Senderliste aktuell"
echo "Kein Update noetig"
rm -rf /tmp/time.txt
rm -rf /tmp/enigma2.tar.gz
fi
Natürlcih auch für Enigma 1 auch wenn noch nicht getestet soltte aber gehen:

#!/bin/sh
#BESCHREIBUNG=Downloads, Installs & Reloads the latest Enigma1 Bouquets
#Die URL auf eure eigene URL umändern wo das tar.gz file liegt
BQ="http://URL:PORT/ORDNER/enigma1.tar.gz"
BG="enigma1.tar.gz"
ST="http://URL:PORT/ORDNER/time.txt"

cd /tmp/
wget $BQ
wget $ST
chmod 755 /tmp/enigma1.tar.gz
chmod 755 /tmp/time.txt

#Speichern des Inhalts von timelu.txt und time in einer Variablen
export timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
export timen=$(cat /tmp/time.txt | head -n1 | tail -n1)

if [ -s $BG ]; then
echo "Server Online"
else
echo "Server Offline, bitte spaeter nochmal versuchen!"
fi
#Vergleich: Ist timelu kleiner als timen ?#
if [ $timelu -lt $timen ];then

echo "Starte Update"

tar -xzvf enigma1.tar.gz

cd /tmp/enigma1

cd /var/tuxbox/config/enigma/
rm -rf *.tv
rm -rf *.radio
rm -rf *.epl
rm -rf bouquets
rm -rf services
rm -rf services.locked

mv /tmp/enigma1/* /var/tuxbox/config/enigma/

#Speichern der time.txt in timelu.txt
cd /etc
rm -rf /etc/timelu.txt
touch timelu.txt
echo "$timen" >> /etc/timelu.txt
rm -rf /tmp/time.txt
rm -rf /tmp/enigma1
rm -rf /tmp/enigma1.tar.gz
echo "Update erfolgreich abgeschlossen"
echo "Starte neu um Update wirksam zu machen"

#wget -q
reboot

else
echo "Senderliste aktuell"
echo "Kein Update noetig"
fi

Die timelu.txt muss trotzdem erstellt werden aber bitte beachten das es mit 19700101 erstellt wird und dass man die Datei dann auch nicht ändert sonst wird das Update nicht gemacht und dauernd angezeigt es sei aktuell.

Viel Spaß und ein großes danke an Youtube18 der auch fleißig mitgemacht hat

gruß

amassidda
 
Zuletzt bearbeitet:
AW: Settings über eigenen Server laden möglich

Wenn der Server nicht erreichbar ist, dann passiert nix (Bei meinem Script zumindest) :)

Du musst angemeldet sein, um Bilder zu sehen.



Dein Script geht natürlich auch, aber bei meinem wird nur die time.txt runtergeladen.
Bei dir wird immer die komplette Senderliste geladen, egal ob ein Update nötig ist oder nicht.

Bei deinem Script kommt lediglich noch zusätzlich die Ausgabe Server offline oder online :)
Aber hast recht wäre nicht schlecht noch dazu zu schreiben.


Also Ihr könnt euch entscheiden, entweder Ihr nehmt das Script von amassidda mit Server online oder offline, wo jedes mal die Senderliste gedownloadet wird, oder Ihr nehmt meins, wo nur die time.txt gedownloadet wird, dafür aber keine Ausgabe Server online oder offline kommt.


Gruß
 
Zuletzt bearbeitet:
AW: Settings über eigenen Server laden möglich

Bei mir war die Senderliste weg als ich dein Script gestartet habe und mit Absicht das File am Server umbenannt hatte um zu sehen was passiert.

Habe es ja behoben und kannst ja auch testen das neue Script prüft nun eben beides.

Ob der Server online ist und ob das Datum kleiner ist als auf den Server.

Gruß

amassidda
 
AW: Settings über eigenen Server laden möglich

Noch was das mit dem Datum stimmt auch nicht ganz da die Zahl 01011970 kleiner ist als 20130704 sprich es wird nicht als Datum gelesen sondern als komplette Zahl.

Das Datum wird dan so geschrieben JAHR/MONAT/TAG=20130704

Ja das stimmt die Senderliste wird mit Runtergeladen aber dazu auch gelöscht fals kein UPDATE nötig ist.

Aber ohne die Senderliste runterzuladen kann nicht geprüft werden ob der Server Online oder Offline ist.

Deine Variante geht natürlich auch kein Thema aber wie oben schon erwäht hat es bei deiner Variante meine Senderliste gelöscht kann ja jeder für sich testen und entscheiden was er haben will

Hoffe ihr versteht was ich meine

Danke dir trozdem das du beim aufbau des Scripts mit geholfen hast

gruß

amassidda
 
Zuletzt bearbeitet:
AW: Settings über eigenen Server laden möglich

Noch was das mit dem Datum stimmt auch nicht ganz da die Zahl 01011970 kleiner ist als 20130704 sprich es wird nicht als Datum gelesen sondern als komplette Zahl.
Das Datum wird dan so geschrieben JAHR/MONAT/TAG=2030704

Stimmt, aber ob ich jetzt das Datum 01011970 mit 04072013 vergleiche oder 19700101 mit 20130704 ist eigendlich egal.

Aber ich glaube du hast mein Script noch nicht ganz verstanden :D
Das Datum 01.01.1970 in der timelu.txt ist nur dazu da das einmal eine Senderliste gedownloadet wird und das Datum in der timelu.txt aktualisert wird.
Sobald du das Script zum ersten mal startest wird das Datum eh mit dem aktuellen in der time.txt vom Server ausgetauscht.
Du kannst statt dem Datum auch einzelne Zahlen oder sonst was nehmen, Hauptsache wenn upgedatet werden soll muss die Zahl in der time.txt vom Server größer sein als in der timelu.txt auf der Dreambox.


Ja das stimmt die Senderliste wird mit Runtergeladen aber dazu auch gelöscht fals kein UPDATE nötig ist.
Aber ohne die Senderliste runterzuladen kann nicht geprüft werden ob der Server Online oder Offline ist.

Stimmt, aber da ich Traffic sparen möchte ist mir diese Ausgabe nicht sooooo wichtig. Aber bei mir auf der Dream mit Merlin3 wird die Senderliste nur gelöscht/ersetzt wenn ein Update (Sichwort time.txt) verfügbar ist.

Deine Variante geht natürlich auch kein Thema aber wie oben schon erwäht hat es bei deiner Variante meine Senderliste gelöscht kann ja jeder für sich testen und entscheiden was er haben will

Ich würde jetzt mal sagen das ist Image abhängig. Mein Script läuft zu 100% auf Merlin3 (optimiert für Merlin3 :))

Hoffe ihr versteht was ich meine

Ja schon.


Danke dir trozdem das du beim aufbau des Scripts mit geholfen hast

Bitte bitte, sehr gerne. Dieses Thema hat mich schon lange interessiert, habe mich aber nie drangemacht.
Wie würde man im Fußball sagen:
Du hast mir einen perfekten Pass gespielt und ich habe ihn dann (fast) reingemacht.

Gruß

Youtube18
 
Zurück
Oben