Script fuer senderlisten moeglich ?

  • hallo, da meine familie und viele bekannte doch zu "faul" sind um ihre senderlisten aktuell zu hallten :grinning_squinting_face: fragen die mich immer "kannste mir ne neue senderliste einspielen?" und das auch noch via "teamviewer"


    so langsam nervt es etwas. ok, meine eltern kann ich verstehen, sind nicht so technikbegabt aber wollten eben ne box mit aufnahme moeglichkeit und inet radio.



    nun die frage?


    kann ich meine settings (aus dem e2 ordner) einfach auf meinen FTP server Packen, und bei meinen aeltern eben ein script basteln (brauche eins fuer E1 und eines fuer E2) diesen script auf einen button legen (beispiel rot) und dann brauch ich ja nur die entsprechenden files von meiner box (ware schoen wenn es auch via script geht) auf den ftp server schieben (box hat auf den ordner der via FTP freigegeben wird NFS zugang, ist also NFS gemounted) und dann wenn die wieder anrufen sagen "ROTE TASTE DRUECKEN" !!



    dann sollten sich die boxen dann die settings von meinem FTP server ziehen, und natuerlich die allten ueberschreiben.


    schoen ware es wenn die scripte auch ein "settings reload" durchfuehren, so das mann nicht unbedingt E2/E1 neustarten muss.



    also 2 scripte (einmal E1 und einmal E2) wenn diese ausgefuehrt sind sollen diese dann die setings von meinem FTP server ziehen. (diese werden nicht gepackt oder so. braucht ja nicht ) und dann auf den boxen ueberschreiben. FTP server ist natuerlcih password geschuetzt aber den settingsordner den kann ich auch als quest frreigeben wenn es sein muss. und mein FTP server lauft auch nicht auf port 21, hoffe das es auch kein prob ist.


    und ein script fuer meine BOX die mir die settings von /etc/enigma2 auf /media/net/server/settings E2 schiebt.


    die E1 settings werd ich dann mit dem PC selber auf den server schieben solang meine eltern und schwester, schwager und der resst der familie e1 boxen im einsatz haben. was ja nicht mehr viel ist.



    schon mal danke im vorraus. und ware cool wenn sowas moeglich waere

    Dreambox 900 UHD SS
    Dreambox 8000 HD: SSSC/T, 2GB CF, DVD
    Qnap TS219 P II + 2TB + 3TB HDD


    NC+ HD
    Sky Germany HD

    2 Mal editiert, zuletzt von Micha_123 ()

  • lohnt sich sowas wirklich, technisch ist es möglich, aber was bitte schön ändert sich dauernd an den settings? diese können über jahre genutzt werden...

  • ja in Polen anedert sich staendig was. hier transponder wechsel, hier dies hier das usw. darum die frage. und etwas spielen will ich natuerlich auch :grinning_squinting_face:

    Dreambox 900 UHD SS
    Dreambox 8000 HD: SSSC/T, 2GB CF, DVD
    Qnap TS219 P II + 2TB + 3TB HDD


    NC+ HD
    Sky Germany HD

  • so habe es mit wfet hinbekommen das er files vom FTP (testfiles) geht ohne probleme


    so sieht es nun als testfile aus


    Zitat


    und die dream zieht schön das file vom FTP. nur eben 1 mal. wie bring ich denn wget dazu files zu überschreiben ???


    oder ist das nicht möglich???


    anders muss ich dann im script auch noch ein rm einfügen was die files erst löscht und befor wget diese zieht.

    Dreambox 900 UHD SS
    Dreambox 8000 HD: SSSC/T, 2GB CF, DVD
    Qnap TS219 P II + 2TB + 3TB HDD


    NC+ HD
    Sky Germany HD

  • wget überschreibt doch automatisch die Files. Was ich aber so nicht machen würde... wenn der transfer abbricht hast du ein defektes File.


    Also erst nach tmp laden, und dann per mv verschieben.

    -->
    openwrt + minicom + screen = 24/7 Bootlog

  • Warum baust Du kein IPK mit den Settings (E1 und E2 IPK) und lässt es von opkg/ipkg von remote Host direkt installieren?

  • Zitat

    Original von __QT__
    Warum baust Du kein IPK mit den Settings (E1 und E2 IPK) und lässt es von opkg/ipkg von remote Host direkt installieren?



    und wie mache ich das auf der dream (für die e2 settings) und auf dem PC (windows) für die E1 settings ???




    Schnello, ok du hast recht, werd das dann so machen.


    p.s. wget überschreibt die files nicht. leider, aber mit dem temp wäre das problem halbwegs gelöst wenn die boxen zwischendurch neugestartet wurden. wenn nicht mäkert wget wider


    Zitat

    Connecting to 192.168.2.1:29 (192.168.2.1:29)
    wget: can't open '/media/SD/testfile': File exists

    Dreambox 900 UHD SS
    Dreambox 8000 HD: SSSC/T, 2GB CF, DVD
    Qnap TS219 P II + 2TB + 3TB HDD


    NC+ HD
    Sky Germany HD

    2 Mal editiert, zuletzt von Micha_123 ()

  • Zitat

    p.s. wget überschreibt die files nicht.


    Sorry ja. Geht nur mit -c


    Code
    root@dm7020hd:~# wget http://dl.dropbox.com/u/12487373/test.txt -c

    -->
    openwrt + minicom + screen = 24/7 Bootlog

  • Hallo zusammen !!!


    Ich möchte die Sache hier nochmal anschieben.
    Ich suche selbst nach einer solchen Möglichkeit.
    Ich habe aus diversen Codefragmenten hier im Board mal dieses Script zusammen gebastelt.
    Was mir fehlt wäre eine Serveranfrage ob eine neue Kanalliste verfügbar ist.
    Sprich auf dem Server liegen 10 Dateien Kanalliste-V1.zip bis Kanalliste-V10.zip.
    Er soll dann logischer weise die V10 nehmen bzw kann man das über das Datum der Datei auf dem Server lösen.
    Ich habe leider nichts passendes gefunden und leider auch nicht der beste Programmierer.
    Wäre für jede Hilfe dankbar.


  • Das mit den 10 Dateien (V1- V10) ist nur ein Beispiel.
    Das soll eigentlich zur leichteren Identifizierung der neusten Kanallistenversion dienen.
    Sprich in dem Falle wäre die V10 die neuste.
    Man kann das natürlich auch nur mit einer einzigen Datei machen, aber irgendwo muss man erkennen können das die Kanalliste neu bzw. geändert wurde.

  • Hi,
    So auf die schnelle würde ich wenn das gesuchte File immer die Struktur "Kanalliste-V[x]zip" hat so vorgehen:
    - das Verzeichniss auslesen "FILES=$(find [Verzeichniss]-type f -name "Kanalliste*")"
    - Mit einer for Schlaufe über FILES mit regex mal alles bekannte weg extrahieren damit man nur noch die Zahl der Datei hat.
    - In der gleichen for Schlaufe gerade die Zahl mir der vorhergehenden Vergleichen und immer die grösste behalten.
    - Hat man die grösste Zahl muss nur der Dateiname wider zusammengesetzt werden.


    Gruss

    95% der Computerprobleme befinden sich zwischen dem Stuhl und dem Monitor ;).

  • Dateien bzgl Datum kannst du mit "-nt" vergleichen.


    Code
    root@dm7020hd:~# if [ test -nt TEST3.txt  ];then echo "test in neuer";else echo "TEST3.txt ist neuer";fi
    test in neuer
    root@dm7020hd:~#





    Ich würde einfach vergleichen ob Kanalliste.zip neuer ist als zb /etc/enigma2/lamedb.


    Btw. Für Aktionen auf der Clientbox braucht man kein Passwort und Username.


    Aus

    Code
    wget -O /dev/null "http://DREAMBOX_USERNAME:$DREAMBOX_PASSWORD@$DREAMBOX_ADDY:$DREAMBOX_PORT/web/remotecontrol?command=108" -q


    wird dann

    Code
    wget -O- "http://localhost/web/remotecontrol?command=108" -q

    -->
    openwrt + minicom + screen = 24/7 Bootlog

    2 Mal editiert, zuletzt von Schnello ()

  • OK DANKE erstmal für die Infos und Denkanstöße !!!!
    Werde mich nochmal bei machen und etwas rumtesten.


    Falls ich es hin bekomme werde ich es hier posten.

  • Ich hab grad getestet und standard wget vom Feed kann (zumindest nicht meines auf der Box) per "-S" das original Datum beibehalten. Somit wäre das File automatisch immer neuer.


    Es gibt jetzt viele Wege die nach Rom führen. Das einfachste (sicher aber nicht der schönste Weg) ist beim erstellen des Zip Files eine weitere Datei erstellen wo ein "Timestamp" abgelegt ist. Den kannst du dann mit wget auslesen und vergleichen.


    Code
    root@dm7020hd:~# date +%s >> timestamp
    root@dm7020hd:~# cat timestamp
    1392414220
    root@dm7020hd:~# if [ $(cat timestamp) -gt $(date -r TEST3.txt +%s) ];then echo "TIMESTAMP ist neuer";else echo "Datei ist neuer";fi
    TIMESTAMP ist neuer
    root@dm7020hd:~# touch test4
    root@dm7020hd:~# if [ $(cat timestamp) -gt $(date -r test4 +%s) ];then echo "TIMESTAMP ist neuer";else echo "Datei ist neuer";fi
    Datei ist neuer

    -->
    openwrt + minicom + screen = 24/7 Bootlog

    2 Mal editiert, zuletzt von Schnello ()

  • Wieso das Rad neu erfinden, wenn mit opkg schon alles vorhanden ist?


    http://wiki.blue-panel.com/ind…s-feeds_des_Gemini_Plugin


    Du musst dafür nur drei Sachen einrichten:
    a) Die Senderlisten nicht als zip, sondern als ipk anlegen (für Skins und Plugins liegen hier im Board oder im Netz ganz viele Scripte bereit, die sollte man auch simpel auf Settings umstricken können.
    b) Auf dem Server eine packages.gz anlegen, die du mit jedem Debian-Derivat erzeugen kannst...
    c) In der opkg.conf auf all deinen "Kundenboxen" die Feedadresse eintragen. Afaik geht das sogar mit einer Passwort-geschützten URL.

    so long
    m0rphU



    :aufsmaul: Kein Support per PN! :aufsmaul:

  • So das ganze wurde jetzt mit einer Timestamp-Datei erfolgreich getestet.
    Was sagt Ihr dazu?
    Danke nochmal für nützlichen Tipps !



    In der Kanalliste.txt steht einfach das Datum der Erstellung:
    140214