JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #1  
Old 12.03.2018, 11:27
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default JDownloader beim Hochfahren des NAS automatisch starten

Hallo,

ich habe JDownloader auf meinem NAS von Hand als admin unter /volume1/@appstore/JDownloader installiert. Ich bin dabei nach der Anleitung "Install JDownloader on NAS and embedded devices" auf jdownloader.org vorgegangen.

Nach der Installation von JDownloader habe ich das Skript start.sh mit folgendem Inhalt erstellt:

#!/bin/sh
JAVA_HOME=/volume1/@appstore/java8/ejdk1.8.0_161/linux_i586/jre
export JAVA_HOME
cd /volume1/@appstore/JDownloader
umask 000
$JAVA_HOME/bin/java -jar JDownloader.jar >/dev/null 2>/dev/null &

In welchen Ordner muss ich start.sh legen, damit JDownloader beim Hochfahren des NAS gestartet wird?

Danke für einen Hinweis.
dariusmk
Reply With Quote
  #2  
Old 12.03.2018, 11:44
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

Der Ordner ist egal, du musst diese start.sh dann in der Weboberfläche im Zeitplaner verlinken und dort dann bei System-Start ausführen lassen.
Das export JAVA zeugs brauchst du nicht, du kannst direkt den kompletten Pfad zu java angeben.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #3  
Old 12.03.2018, 12:34
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default

Quote:
Originally Posted by Jiaz View Post
Der Ordner ist egal, du musst diese start.sh dann in der Weboberfläche im Zeitplaner verlinken und dort dann bei System-Start ausführen lassen.
Das habe ich versucht, es funktioniert leider nicht. Ich habe die start.sh für den Benutzer admin im Aufgabenplaner angelegt.

Wenn ich mich in der Weboberfläche der Synology als admin einlogge und im Aufgabenplaner die Aufgabe manuell auslöse (Klick auf den Button "ausführen"), wird der JDownloader auch gestartet.

Wenn ich die Aufgabe jedoch so anlege, dass sie beim Hochfahren des NAS ausgeführt wird, wird der JDownloader nicht gestartet. Ich erhalte vom NAS nur die folgende nichtssagende Email, zb heute morgen:

"Sehr geehrter Benutzer,

Aufgabenplaner hat eine ausgelöste Aufgabe abgeschlossen.

Aufgabe: JDownloader Start beim Hochfahren
Startzeit: Mon, 12 Mar 2018 06:24:30 GMT
Stoppzeit: Mon, 12 Mar 2018 06:24:31 GMT
Aktueller Status: 1 (Unterbrochen)
Standardausgabe/Fehler:


Mit freundlichen Grüßen
Synology DiskStation"

Meine Idee ist es deshalb, das Skript auf andere Weise als durch Einbindung in den Aufgabenplaner beim Hochfahren zu starten. Vielleicht funktioniert es dann.
Reply With Quote
  #4  
Old 12.03.2018, 13:38
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

Evtl hängt das Script zu früh in der Liste? Das zu dem Zeitpunkt noch gar keine Platte eingehängt ist? Evtl kannst du das Event auf *Nach dem Hochfahren* ändern?
Denn rein theoretisch sollte das genau so klappen. Sprich du musst nur noch rausfinden warum es den Fehler gibt.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #5  
Old 12.03.2018, 14:24
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default

Das probiere ich, sobald ich zuhause bin.

Falls der Aufgabenplaner nicht die Option bietet, das Skript "nach dem Hochfahren" auszuführen, könnte ich das Skript um den Befehl "sleep" ergänzen?

Die start.sh hätte dann den folgenden Inhalt:

#!/bin/sh
JAVA_HOME=/volume1/@appstore/java8/ejdk1.8.0_161/linux_i586/jre
cd /volume1/@appstore/JDownloader
umask 000
sleep 120; $JAVA_HOME/bin/java -jar JDownloader.jar >/dev/null 2>/dev/null &

Last edited by dariusmk; 12.03.2018 at 14:29.
Reply With Quote
  #6  
Old 12.03.2018, 18:35
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

Das kann klappen, aber nur wenn das Script start.sh nicht selbst auf volume1 liegt denn dann ist dieses ja noch nicht erreichbar.
Der sleep müsste vor der *cd /volume1..* Zeile, da JDownloader.jar relativ angesprochen wird
__________________
JD-Dev & Server-Admin
Reply With Quote
  #7  
Old 12.03.2018, 20:14
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default

Quote:
Originally Posted by Jiaz View Post
Das kann klappen, aber nur wenn das Script start.sh nicht selbst auf volume1 liegt denn dann ist dieses ja noch nicht erreichbar.
Der sleep müsste vor der *cd /volume1..* Zeile, da JDownloader.jar relativ angesprochen wird

Danke für den Hinweis. Auf die Idee, das Skript nicht auf /volume1 abzulegen, wäre ich nicht gekommen.

Der Aufgabenplaner bietet leider keine Möglichkeit, ein Skript erst nach dem hochfahren auszuführen. Ich habe deshalb ein Skript mit dem Inhalt

#!/bin/sh
JAVA_HOME=/volume1/@appstore/java8/ejdk1.8.0_161/linux_i586/jre
sleep 120

in /tmp abgelegt.

Im Anschluss daran habe ich im Aufgabenplaner eine „Vor-Aufgabe“ angelegt. Diese führt das Skript mit dem sleep-Befehl vor dem Skript auf, das den JDownloader aufruft.

Funktioniert leider immer noch nicht. Jetzt erhalte ich per E-Mail zwei Fehlermeldungen nach dem vorstehenden Muster. Außerdem ist das Skript mit dem sleep Befehl aus dem /tmp Ordner verschwunden.

Soll ich das Skript mit dem sleep Befehl in einen anderen Ordner legen, wenn ja, in welchen?
Reply With Quote
  #8  
Old 13.03.2018, 08:55
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

/tmp wird je nach Systemkonfiguration geleert beim Neustart. Dort solltest du das Script nicht ablegen.
Ich kann gerne mal via Teamviewer mit drauf schauen. Meld dich einfach unter support@jdownloader.org
Sind die Festplatte automatisch eingehängt oder aufgrund von Verschlüsselung musst du das von Hand machen?
Ich würde das Script einfach in /root ablegen

Code:
#!/bin/sh
sleep 60
cd /volume1/@appstore/JDownloader
umask 000
java -jar JDownloader.jar >/dev/null 2>/dev/null &
__________________
JD-Dev & Server-Admin
Reply With Quote
  #9  
Old 13.03.2018, 12:05
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default

Vielen Dank für die weitere Hilfe. Die Festplatten werden automatisch eingehängt.

Ich lege das Skript jetzt mal in /root ab und schaue, ob es startet. Wenn nicht, komme ich gerne auf Dein Angebot mit Teamviewer zurück.

Du leistest wirklich einen tollen Support!
Reply With Quote
  #10  
Old 13.03.2018, 12:09
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

Bedank dich erst wenn das Problem gelöst wurde
__________________
JD-Dev & Server-Admin
Reply With Quote
  #11  
Old 14.03.2018, 20:40
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default

Ich schaffe es leider nicht, den Jdownloader beim hochfahren zu starten.

Das Skript start.sh kann im Aufgabenplaner nur als „geplante Aufgabe“ zu einem bestimmten Zeitpunkt ausgeführt werden. Als „ausgelöste Aufgabe“ mit dem Trigger "Hochfahren" wird es leider nicht ausgeführt. Das Skript wird selbst dann nicht also“ausgelöste Aufgabe“ ausgeführt, wenn ich die „ausgelöste Aufgabe“ im laufenden Betrieb manuell starte (durch Mausklick auf "Ausführen" im Aufgabenplaner). Auch eine log.txt Datei wird nicht erstellt.

Last edited by dariusmk; 15.03.2018 at 06:10.
Reply With Quote
  #12  
Old 15.03.2018, 11:01
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

Ich tippe auf irgendeinen *simplen* Fehler beim Einrichten.
Wir können uns das gerne mal via Teamviewer anschauen. Schreib mir an support@jdownloader.org
__________________
JD-Dev & Server-Admin
Reply With Quote
  #13  
Old 19.03.2018, 09:30
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default

Ich habe nochmal übers Wochenende nachgeforscht, ua im deutschen Synology-Forum.

Der Aufgabenplaner kann das Skript beim Hochfahren offensichtlich nur als root ausführen und nicht als Admin:

**External links are only visible to Supporters****External links are only visible to Supporters**

Gibt es eine Möglichkeit, das Skript beim Hochfahren auf andere Weise automatisch als admin zu starten, als über den Aufgabenplaner?
Reply With Quote
  #14  
Old 19.03.2018, 11:11
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

im Script selbst dann den Nutzer ändern, sprich das Script dem Nutzer Root geben
und dann im script. Leg am besten ein neues Script an, welches dann das vorhandene startet
#!/bin/sh
su -c "/pfad zum Script &" admin
__________________
JD-Dev & Server-Admin
Reply With Quote
  #15  
Old 23.03.2018, 09:13
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default

Danke. Das war der entscheidende Tipp!

Ich habe ein neues ausführbares Skript jdstart.sh im Ordner /volume1/public angelegt. Dieses verweist auf das eigentliche Start-Skript start.sh und hat folgenden Inhalt:

#!/bin/sh
su -c /volume1/public/start.sh & admin

Für dieses Skript habe ich im Aufgabenplaner eine neue "ausgelöste Aufgabe" angelegt, die als root "beim Hochfahren" ausgeführt wird. So funktioniert es. Und wieder ist Weihnachten!

Noch eine Frage: ich möchte nicht, dass jdstart.sh mir die Festplatte zumüllt. Wie schicke ich die Ausgaben des Skripts ins Nirwana?

Last edited by dariusmk; 23.03.2018 at 13:12.
Reply With Quote
  #16  
Old 23.03.2018, 10:04
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

Danke fürs Feedback!
su -c "/volume1/public/start.sh >/dev/null 2>/dev/null &" admin
damit leitest du stdout und stderr ins *Nirvana* um
__________________
JD-Dev & Server-Admin
Reply With Quote
  #17  
Old 23.03.2018, 13:15
dariusmk dariusmk is offline
JD Beta
 
Join Date: Aug 2011
Posts: 51
Default

Perfekt. Danke für die großartige Unterstützung.

Vielleicht hilft dieser Thread auch anderen Besitzern einer Synology Diskstation.
Reply With Quote
  #18  
Old 23.03.2018, 14:12
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 57,398
Default

Nichts zu danken
__________________
JD-Dev & Server-Admin
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 02:58.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.