amassidda: versteh nicht so recht wofür die /etc/time.txt benötigt wird? normalerweise sollte der zeitstempel der datei nach wget immer noch der originale sein
um es den nutzern einfacher zu machen wärs auch schön wenn du extra variablen für die dyndns-host und den port einrichtest damit es leichter zu erkennen ist was man im script einstellen muss
und für den fall das der Bouquet-server mal nicht zu erreichen ist oder andere fehler aufgetreten sind solltest du ein paar überprüfungen in das script einbauen ob das überhaupt funktioniert hat usw bevor irgendwas gelöscht wird
und zu guter letzt würde ich nicht den standard apache port verändern sondern einen zusätzlichen anlegen der wiederum nur auf ein ganz bestimmtes verzeichniss zeigt, da du keinerlei login/password abfragen eingebaut hast und somit /var/www/ ungeschützt über das internet zugänglich wäre..
wie das geht kannst du da nachlesen:
Running different sites on different ports.Sie müssen registriert sein, um Links zu sehen.
(das bezüglich "LOGIN mit .key verschlüsseln" betrifft nämlich nur ssh, aber nicht wget o.ä.)
wusste nicht das du das script erstellt hastOb amassidda weiß wodür die time.txt benötigt wird ????
Also ich (der das Script entworfen hat), kann die sagen das die time.txt dafür verwendet wird um festzustellen ob ein Update benötigt wird oder nicht.
zum beispiel mit dem befehl stat wie zum beispiel stat -c %Z /etc/time.txtWie ich den Zeitstempel einer Datei auslese weiß ich leider nicht
viele hier haben einen (thin client) server im lan aber wissen nicht was sie wo einstellen müssen, deshalb mein tipp zu mehr benutzerfreundlicherem aussehen des scripts:emoticon-0138-thinkFür mich eh nicht interessant, da ich hierfür eh meinen Webserver benutzen würde
Aber da soll sich amassidda mal drum kümmern.
Ich verstehe nämlich nicht so ganz was du meinst, denn für mich war/ist alles logisch erklärt
das script auf der ersten seite macht einfach alles nach einander ohne zu prüfen ob der befehl zuvor überhaupt erfolgreich war, deshalb könnte da einiges schief gehen wenn mal ein wget o.ä. nicht gehtGelöscht wird nur was zuvor herruntergeladen wurde und nicht mehr benötigt wird.
wusste nicht das du das script erstellt hast
zum beispiel mit dem befehl stat wie zum beispiel stat -c %Z /etc/time.txt
um das datum über den zeitstempel zurück zu kriegen: date -d@`stat -c %Z /etc/time.txt`
viele hier haben einen (thin client) server im lan aber wissen nicht was sie wo einstellen müssen, deshalb mein tipp zu mehr benutzerfreundlicherem aussehen des scripts:emoticon-0138-think
das script auf der ersten seite macht einfach alles nach einander ohne zu prüfen ob der befehl zuvor überhaupt erfolgreich war, deshalb könnte da einiges schief gehen wenn mal ein wget o.ä. nicht geht
wenn ich bischen mehr zeit hab guck ich mir das mal genauer an und meld mich dann noch mal
das ist dann natürlich schlecht.. :emoticon-0124-worriFunzt auf meiner Dream nicht Befehl stat nicht bekannt
#!/bin/sh
#
# Downloads, Installs & Reloads the latest Enigma2 Bouquets
#
#
# Die SERVERurl auf die Adresse eures Webservers umändern, wo die aktuelle Bouquets Datei liegt
SERVERurl="http://192.168.0.10"
# Der Port eures Webservers (standard: 80)
SERVERport="8080"
# Das Verzeichnis in dem die Bouquets Datei auf dem Webserver liegt
SERVERdir="ORDNER"
# Name der gepackten Bouquets Datei
BQ="enigma2.tar.gz"
# Datei mit der Zeit des letzten Updates die vom Server geladen wird
ST="time.txt"
#
## Ende der Konfiguration
#
URL="$SERVERurl:$SERVERport"
#Downloaden von time.txt vom Server
wget -q -O /tmp/$ST $URL/$SERVERdir/$ST
chmod 755 /tmp/$ST
#Speichern des Inhalts von timelu.txt und time in einer Variablen
timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
timen=$(cat /tmp/$ST | 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 -q -O /tmp/$BQ $URL/$SERVERdir/$BQ
chmod 755 /tmp/$BQ
#Entpacken
tar -zxf /tmp/$BQ
#Speichern der time.txt in timelu.txt
echo "$timen" > /etc/timelu.txt
rm -f /tmp/$ST
cd /tmp/enigma2
mv /tmp/enigma2/satellites.xml /etc/tuxbox/
cd /etc/enigma2
rm -f *.tv
rm -f *.radio
rm -rf blacklist
rm -rf lamedb
mv /tmp/enigma2/* /etc/enigma2
rm -rf /tmp/enigma2
rm -f /tmp/$BQ
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 -f /tmp/$ST
fi
exit 0
#!/bin/sh
#
# Downloads, Installs & Reloads the latest Enigma2 Bouquets
#
#
# Die SERVERurl auf die Adresse eures Webservers umändern, wo die aktuelle Bouquets Datei liegt
SERVERurl="http://192.168.0.10"
# Der Port eures Webservers (Standard: 80)
SERVERport="8080"
# Das Verzeichnis in dem die Bouquets Datei auf dem Webserver liegt
SERVERdir="ORDNER"
# Name der gepackten Bouquets Datei
BQ="enigma2.tar.gz"
# Datei mit der Zeit des letzten Updates die vom Server geladen wird
ST="time.txt"
#
## Ende der Konfiguration
#
URL="$SERVERurl:$SERVERport"
#Downloaden von time.txt vom Server
wget -q -O /tmp/$ST $URL/$SERVERdir/$ST
chmod 755 /tmp/$ST
#Speichern des Inhalts von timelu.txt und time in einer Variablen
timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
timen=$(cat /tmp/$ST | head -n1 | tail -n1)
#Vergleich: Ist timelu kleiner als timen ?
if [ $timelu -lt $timen ]; then
echo "Update vorhanden"
echo "Starte Update"
[B]#Download der Senderliste vom Server
cd /tmp/
wget -q -O $BQ $URL/$SERVERdir/$BQ
chmod 755 $BQ
#Entpacken
tar -zxf $BQ[/B]
#Speichern der time.txt in timelu.txt
echo "$timen" > /etc/timelu.txt
rm -f /tmp/$ST
cd /tmp/enigma2
mv /tmp/enigma2/satellites.xml /etc/tuxbox/
cd /etc/enigma2
rm -f *.tv
rm -f *.radio
rm -rf blacklist
rm -rf lamedb
mv /tmp/enigma2/* /etc/enigma2
rm -rf /tmp/enigma2
rm -f /tmp/$BQ
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 noetig"
rm -f /tmp/$ST
fi
exit 0
da passt aber ebenfalls etwas nicht. Zeile 74 ist in dem von mir angepassten Script in der else Schleife von wegen "kein update nötig", da wird also garkein "cd /tmp/enigma2" ausgeführt..Also 0800555333 dein Script läuft 1A mit einem kleinen Schönheitsfehler (zumindest bei meinem Merlin3 System) :
Du musst angemeldet sein, um Bilder zu sehen.
wollte es zunächst nicht zu kompliziert wirken lassen. das error handling würde ich später einbauenAchja und die Fehlermeldungen wenn die Dateien nicht auf dem Server sind, sind die selben wie bei meinem Script.
das macht aber eigentlich kein sinn da es ja die selbe vorgehensweise wie beim downloaden der time.txt ist (ohne vorheriges "cd /tmp/").Edit:
Wenn ich das Script so umschreibe, dann geht es (Problem vielleicht Flashexpander bedingt):
Code:#!/bin/sh # # Downloads, Installs & Reloads the latest Enigma2 Bouquets # # # Die SERVERurl auf die Adresse eures Webservers umändern, wo die aktuelle Bouquets Datei liegt SERVERurl="http://192.168.0.10" # Der Port eures Webservers (Standard: 80) SERVERport="8080" # Das Verzeichnis in dem die Bouquets Datei auf dem Webserver liegt SERVERdir="ORDNER" # Name der gepackten Bouquets Datei BQ="enigma2.tar.gz" # Datei mit der Zeit des letzten Updates die vom Server geladen wird ST="time.txt" # ## Ende der Konfiguration # URL="$SERVERurl:$SERVERport" #Downloaden von time.txt vom Server wget -q -O /tmp/$ST $URL/$SERVERdir/$ST chmod 755 /tmp/$ST #Speichern des Inhalts von timelu.txt und time in einer Variablen timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1) timen=$(cat /tmp/$ST | head -n1 | tail -n1) #Vergleich: Ist timelu kleiner als timen ? if [ $timelu -lt $timen ]; then echo "Update vorhanden" echo "Starte Update" [B]#Download der Senderliste vom Server cd /tmp/ wget -q -O $BQ $URL/$SERVERdir/$BQ chmod 755 $BQ #Entpacken tar -zxf $BQ[/B] #Speichern der time.txt in timelu.txt echo "$timen" > /etc/timelu.txt rm -f /tmp/$ST cd /tmp/enigma2 mv /tmp/enigma2/satellites.xml /etc/tuxbox/ cd /etc/enigma2 rm -f *.tv rm -f *.radio rm -rf blacklist rm -rf lamedb mv /tmp/enigma2/* /etc/enigma2 rm -rf /tmp/enigma2 rm -f /tmp/$BQ 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 noetig" rm -f /tmp/$ST fi exit 0
else
echo "Senderliste aktuell"
echo "Kein Update nötig"
[B]rm -f /tmp/$ST[/B]
fi
#!/bin/sh
#
# Downloads, Installs & Reloads the latest Enigma2 Bouquets. version: 0.4
#
#
# Die SERVERurl auf die Adresse eures Webservers umändern, wo die gepackte Bouquets Datei liegt
SERVERurl="http://192.168.0.10"
# Der Port eures Webservers (standard: 80)
SERVERport="8080"
# Das Verzeichnis in dem die Bouquets Datei auf dem Webserver liegt
SERVERdir="ORDNER"
# Name der gepackten Bouquets Datei
BQ="enigma2.tar.gz"
# Datei mit der Zeit des letzten Updates die vom Server geladen wird
ST="time.txt"
#
## Ende der Konfiguration
#
_error () {
if [ $1 -gt 0 ]; then
[ -z "$2" ] && message="Es ist ein Fehler aufgetreten" || message=$2
echo -e "\033[1;31;40m $message \033[0m"
echo -e "\t\033[1;31;40mAbbruch\033[0m"
exit 1
fi
}
TEMPdir=/tmp
URL="$SERVERurl:$SERVERport"
echo "Prüfe ob ein Update der Bouquets nötig ist.."
cd $TEMPdir
#Downloaden von time.txt vom Server
wget -q $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 Fehler aufgetreten (download $ST)"
fi
#Speichern des Inhalts von timelu.txt und time in einer Variablen
timelu=$(cat /etc/timelu.txt | head -n1 | tail -n1)
_error $? "Es ist ein Fehler aufgetreten (auslesen von /etc/timelu.txt)"
timen=$(cat $TEMPdir/$ST | head -n1 | tail -n1)
_error $? "Es ist ein Fehler aufgetreten (auslesen von $TEMPdir/$ST)"
#Vergleich: Ist timelu kleiner als timen?
if [ $timelu -lt $timen ]; then
echo "Update vorhanden - Starte Update"
echo " "
#Download der Senderliste vom Server
wget -q $URL/$SERVERdir/$BQ
_error $? "Es ist ein Fehler aufgetreten (download $BQ)"
#prüfen ob download erfolgreich
if [ ! -f "$TEMPdir/$BQ" ]; then
_error 1 "Es ist ein Fehler aufgetreten ($BQ wurde nicht heruntergeladen)"
fi
#datum des bouquets archives
echo "Bouquets Archive wurde erstellt am $(date +"%d.%m.%Y, %H:%m:%S" -r $TEMPdir/$BQ)"
#Entpacken
tar -zxf $BQ
_error $? "Es ist ein Fehler aufgetreten (entpacken $BQ)"
#prüfen ob der inhalt des archives korrekt ist
if [ ! -f "$TEMPdir/enigma2/satellites.xml" ]; then
_error 1 "Das Archive $BQ entspricht nicht den Anforderungen! (enigma2/satellites.xml nicht vorhanden)"
fi
#Speichern der time.txt in timelu.txt
echo "$timen" > /etc/timelu.txt
rm -f $TEMPdir/$ST
mv $TEMPdir/enigma2/satellites.xml /etc/tuxbox/
_error $? "Es ist ein Fehler aufgetreten (verschieben $TEMPdir/enigma2/satellites.xml)"
cd /etc/enigma2
rm -f *.tv
rm -f *.radio
rm -rf blacklist
rm -rf lamedb
mv $TEMPdir/enigma2/* /etc/enigma2
rm -rf $TEMPdir/enigma2
rm -f $TEMPdir/$BQ
echo "Lade Senderliste neu"
RELOAD1=$(wget -qO - http://127.0.0.1/web/servicelistreload?mode=1)
RELOAD2=$(wget -qO - http://127.0.0.1/web/servicelistreload?mode=2)
echo $RELOAD1 | grep reloaded | cut -d ">" -f 2 | cut -d "<" -f 1
echo $RELOAD2 | grep reloaded | cut -d ">" -f 2 | cut -d "<" -f 1
echo " "
echo -e "\033[1;32;40m Update erfolgreich abgeschlossen \033[0m"
#Timen ist kleiner oder gleich groß wie timelu
else
echo "Senderliste aktuell"
echo -e "\033[1;32;40m Kein Update nötig \033[0m"
rm -f $TEMPdir/$ST
fi
exit 0
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?