[Sammelthread] - Pyload Installation / Konfiguration

Status
Für weitere Antworten geschlossen.

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42
Hab es eben mal getestet und scheint soweit auch zu funktionieren, danke. Wie sehe ich, ob das Update durchläuft? Angezeigt wird nichts bei mir.
Ein "pyLoad successfully updated" sollte am Ende des Prozesses ausgegeben werden, zudem sollten etliche duzend Zeilen des unzip und rsync Vorganges erscheinen ... ist das bei dir nicht der Fall?
 

frakki

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
133
Punkte für Reaktionen
0
Punkte
16
Hey also das reconnecten klappt jetzt als "nur Admin" per Putty wunderbar! Allerdings nicht mit pyload! Hat pyload vll zuwenig rechte die doreconnect.sh auszuführen?
Danke für deine Hilfe.
 

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42
Hey also das reconnecten klappt jetzt als "nur Admin" per Putty wunderbar! Allerdings nicht mit pyload! Hat pyload vll zuwenig rechte die doreconnect.sh auszuführen?
Danke für deine Hilfe.
Mach mal "chmod +x doreconnect.sh", ansonsten probier mal ein "chmod 4755 prereconnect".
 

frakki

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
133
Punkte für Reaktionen
0
Punkte
16
Hey auch das führt leider nicht zum erfolg :(

Im Wiki steht ja folgendes zum Thema reconnect:
Reconnect

Um Pyload effektiv nutzen zu können, ist ein automatischer reconnect sinnvoll.

Dazu wird eine Datei namens reconnect.sh erstellt, welche am besten mit unter /volume1/@optware/pyload/ abgespeichert wird. In der Weboberfläche unter Einstellungen/General/Reconnect unter Method den gesamten Pfad zur Datei also /volume1/@optware/pyload/reconnect.sh eintragen.

Die reconnect.sh am besten unter vi erstellen, da beim Erstellen unter Windows meist zusätzliche Steuerzeichen erstellt werden, die das Skript nutzlos machen.

Da es für die Vielzahl von Routern unterschiedliche Verfahren gibt, einen Reconnect zu erzwingen, dient dieses hier nur als Beispiel. Es wäre schön, wenn noch mehr User ihre reconnect.sh posten würden um eine bessere Übersicht zu erreichen.

Code für die reconnect.sh für einen:

Daher habe ich auch den Code für meine reconnect.sh aber so funktionierts auch (nicht) mehr!
 

Turbo

Benutzer
Mitglied seit
01. Jan 2011
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
Ein "pyLoad successfully updated" sollte am Ende des Prozesses ausgegeben werden, zudem sollten etliche duzend Zeilen des unzip und rsync Vorganges erscheinen ... ist das bei dir nicht der Fall?

Nee, kommt bei mir nicht. Muss ich vorher doch noch was installieren wget-ssl etc.?
 

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42
Nee, kommt bei mir nicht. Muss ich vorher doch noch was installieren wget-ssl etc.?
Nö. Diese Version sollte ohne zusätzliche ipkg Pakete funktionieren. Du tippst entweder

/opt/etc/init.d/S99pyload.sh update oder
cd /opt/etc/init.d/
./S99pyload.sh update

Das .sh ist marginal.

Ist ja superklasse, hab grad festgestellt, dass Pastebin meine Änderungen, die definitiv gestern Abend so online waren, rückgängig gemacht hat ... *wutsmilie*

Check mal bitte, ob dein Code mit dem hier identisch ist :) (in der ersten Version mussten wget-ssl und rsync mit ipkg install eingespielt werden ...)

Code:
#!/bin/sh
############################################################
# CONFIGURATION - pyLoad STARTUPSCRIPT for Synology NAS
############################################################

prefix="/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
NAME="pyLoad"
INSTDIR="/opt/pyload"
DAEMON="python $INSTDIR/pyLoadCore.py --daemon"
DAEMON_OPTS=""
STOP="python $INSTDIR/pyLoadCore.py -q"
STATUS="python $INSTDIR/pyLoadCore.py --status"
VERSION="python $INSTDIR/pyLoadCore.py -v"
SYNO="/usr/syno/bin"
UPDATE_SRC="https://bitbucket.org/spoob/pyload/get/tip.zip"

############################################################
# COMMANDS START
############################################################

start()
{
        if [ $(pidof python $INSTDIR/pyLoadCore.py) > /dev/null ];then
                echo "$NAME is already running"
        else
                echo "Starting $NAME"
                $DAEMON $DAEMON_OPTS
                if [ $(pidof python $INSTDIR/pyLoadCore.py) > /dev/null ]
                        then
                        echo "$NAME successfully startet"
                else
                echo "$NAME has not been installed correctly!"
                fi
        fi
}

############################################################

stop()
{
        echo "Shutting down $NAME"
        $STOP
}

############################################################

update()
{
        echo "Updating $NAME workplace"
        stop
        sleep 3
        cd $prefix
        $SYNO/wget --no-check-certificate -q $UPDATE_SRC
        echo "Successfully downloaded dev-version"
        unzip -o spoob-pyload*.zip; rm spoob-pyload*.zip
        echo "Archive decompressed and removed"
        $SYNO/rsync -avH --update /opt/spoob-pyload-*/ /opt/pyload/
        rm -rf /opt/spoob-pyload-*
        echo "$NAME successfully updated"
        start
}

############################################################

info()
{
        if [ $(pidof python $INSTDIR/pyLoadCore.py) > /dev/null ]
        then
                echo "$NAME is running with version $($VERSION).
Process ID is $($STATUS)."
        else
                echo "$NAME is NOT running."
        fi
}

############################################################

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                sleep 3
                start
                ;;
        update)
                update
                ;;
        info)
                info
                ;;
        *)
                echo "Usage: $0 (start|stop|restart|update|info)"
                exit 1
                ;;
esac


exit 0
############################################################
# End of script
############################################################
 

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42
Hey auch das führt leider nicht zum erfolg :(

Im Wiki steht ja folgendes zum Thema reconnect:


Daher habe ich auch den Code für meine reconnect.sh aber so funktionierts auch (nicht) mehr!
Vllt. muss die von pyLoad auszuführende Datei tatsächlich reconnect.sh heißen? Teste doch mal indem du die Dateinamen entsprechend änderst und die prereconnect.c mit Link auf nicht-reconnect.sh neu kompilierst ... Prinzip verstanden?
 

Turbo

Benutzer
Mitglied seit
01. Jan 2011
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
Achso ok, ich dachte wenn ich ./S99pyload start aufrufe, würde das update automatisch mit ausgeführt.

Nun hat es funktioniert. Besten Dank!
 

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42
Achso ok, ich dachte wenn ich ./S99pyload start aufrufe, würde das update automatisch mit ausgeführt.

Nun hat es funktioniert. Besten Dank!
*grins* schon der zweite heute ...

Weitere Funktionen
./S99pyload.sh stop = Beendet pyLoad
./S99pyload.sh info = gibt die aktuelle Version und die Process ID aus
./S99pyload.sh restart = startet pyLoad neu
 

frakki

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
133
Punkte für Reaktionen
0
Punkte
16
Prinzip verstanden?

Jepp, in der prereconnect.c den verweis auf die reconnect.sh in nicht-reconnect.sh geändert neu kompiliert die doreconnect.sh in reconnect.sh umgenannt chmod usw... klappt leider auch nicht :D
 

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42
Ich bin mir sicher, dass es funktioniert! ... irgendwie :D

alles im Verzeichnis /opt/pyload/

reconnect.sh -> "chmod +x reconnect.sh"
Rich (BBCode):
#!/bin/sh
cd /opt/pyload/
./prereconnect

doreconnect.sh -> "chmod +x doreconnect.sh"
Rich (BBCode):
#!/bin/sh
wget --delete-after http://192.168.1.1/cgi-bin/disconnect.exe
sleep 5
wget --delete-after http://192.168.1.1/cgi-bin/connect.exe
sleep 5

prereconnect.c -> "gcc prereconnect.c -o prereconnect" -> "chmod 4755 prereconnect" (diese Datei/Programm muss root:root haben - Benutzer/Gruppe - "chown root:root prereconnect" aber wenn unter root Konto erstellt hinfällig)
Rich (BBCode):
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
   setuid( 0 );
   system( "/opt/pyload/doreconnect.sh" );

   return 0;
}

Und dann mal ein pyLoad Neustart "/opt/etc/init.d/S99pyload.sh restart"

Jetzt kommt der Test!

ALTERNATIV

reconnect.sh -> "chmod +x reconnect.sh"
Rich (BBCode):
#!/bin/sh
cd /opt/pyload/
./prereconnect

prereconnect.c -> "gcc prereconnect.c -o prereconnect" -> "chmod 4755 prereconnect" (diese Datei/Programm muss root:root haben - Benutzer/Gruppe - "chown root:root prereconnect" aber wenn unter root Konto erstellt hinfällig)

Rich (BBCode):
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
   setuid( 0 );
   system( "wget --delete-after http://192.168.1.1/cgi-bin/disconnect.exe
sleep 5
wget --delete-after http://192.168.1.1/cgi-bin/connect.exe
sleep 5" );

   return 0;
}

Viel Erfolg!
 
Zuletzt bearbeitet:

frakki

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
133
Punkte für Reaktionen
0
Punkte
16
Scheint auch nicht zu funktionieren leider :(
Das restarten via script scheint auch irgendwie nicht zu klappen. Er sagt "shutdown erfolgreich" und dann pyload läuft bereits...
 

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42
Scheint auch nicht zu funktionieren leider :(
Das restarten via script scheint auch irgendwie nicht zu klappen. Er sagt "shutdown erfolgreich" und dann pyload läuft bereits...
Was geht wenn du die reconnect.sh manuell via Terminal anstößt? Und btw hast du in den pyLoad-Optionen ./reconnect.sh als Methode angegeben? Und Neustart gemacht?

Zum Script, kannst du bitte den genauen Output posten.

Poste mal bitte auch gleich nach wechseln ins Verzeichnis /opt/pyload/ die Ausgabe von "ls -l"
 

frakki

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
133
Punkte für Reaktionen
0
Punkte
16
Also mit putty klappt der reconnect ohne probleme! in den Pyload optionen ists so eingetragen. Mache grad mal nen kompletten Neustart der DS danach poste ich die logs

Ls -l

Rich (BBCode):
DiskStation> ls -l
total 168
-rw-r--r--  1 root root 32422 Mar 28 13:26 LICENSE
-rw-r--r--  1 root root  2680 Mar 28 13:26 README
-rwxrwxrwx  1 root root   137 Mar 28 22:29 doreconnect.sh
drwxr-xr-x  2 root root  4096 Mar 29 21:29 icons
drwxr-xr-x 14 root root  4096 Mar 29 21:29 locale
drwxr-xr-x 10 root root  4096 Mar 29 21:51 module
-rwsr-xr-x  1 root root  5251 Mar 29 21:27 prereconnect
---S-----x  1 root root   171 Mar 29 21:27 prereconnect.c
-rwxr-xr-x  1 root root 22244 Mar 28 13:26 pyLoadCli.py
-rwxr-xr-x  1 root root 30267 Mar 28 13:26 pyLoadCore.py
-rwxr-xr-x  1 root root 28973 Mar 28 13:26 pyLoadGui.py
-rwxr-xr-x  1 root root    41 Mar 29 21:24 reconnect.sh
drwxr-xr-x  8 root root  4096 Mar 29 21:29 scripts
-rw-r--r--  1 root root  3402 Mar 28 13:26 systemCheck.py
-rw-r--r--  1 root root  1005 Mar 28 13:26 testlinks.txt
DiskStation>

und der restart

Code:
DiskStation> /opt/etc/init.d/S99pyload restart
Shutting down pyLoad
pyLoad successfully stopped
pyLoad is already running
DiskStation>

Im Pyload Log steht nur folgendes und das Programm funktioniert danach nicht mehr:

Rich (BBCode):
89	29.03.2011 22:01:30	INFO	shutting down...
 
Zuletzt bearbeitet:

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42

frakki

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
133
Punkte für Reaktionen
0
Punkte
16
Wollt grad schreiben, dass ich das grad selbst probiert hab :) Also den prozess gekillt und dann neugestartet! So gings. und ein restart klappt dann auch. Hab das neueste Script von dir.
 

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42
wuhu komplizierter Fall :D

Also funktioniert der Reconnect, wenn du als Admin die reconnect.sh anstößt? Kommt im pyLoad-Log irgendwas zum reconnect?
 

frakki

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
133
Punkte für Reaktionen
0
Punkte
16
Wenn ichs als Admin ausführe klappts ja!

Kommt im pyLoad-Log irgendwas zum reconnect?

Im Log kommt:

Rich (BBCode):
132	29.03.2011 22:21:59	INFO	Starting reconnect
133	29.03.2011 22:22:15	INFO	Reconnected, new IP: 62.xxx.xx.xx8
 

Binomico

Benutzer
Mitglied seit
01. Jun 2010
Beiträge
573
Punkte für Reaktionen
0
Punkte
42

frakki

Benutzer
Mitglied seit
29. Dez 2009
Beiträge
133
Punkte für Reaktionen
0
Punkte
16
In den permissions ist alles aus!

Bei der Alternative bekomme ich zig fehler beim compilen!

Ich schau morgen nochmal muss jetzt leider weg

Vielen vielen dank schonmal für deine Hilfe.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat