Probleme bei Autostart bei nzbget

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Richard
Beiträge: 653
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Probleme bei Autostart bei nzbget

Beitrag von Richard » 06.09.2014 18:10:05

Hallo,

auf meinem Raspberry Pi (mit Raspbmc [Raspbian-Basis]) läuft nzbget. Ich hatte hier teilweise Probleme das Programm als Daemon beim booten zu starten. Ich nutze einen USB-Stick für die Downloads. Der Stick ist als MainDir eingerichtet, alle anderen Dateien (log, queue, nzbs) liegen darin in Unterordnern. Gebe ich /home/pi/downloads als Maindir an geht alles. Gebe ich ~/downloads an, werden die Dateien unter /root/downoads gespeichert, was ich nicht verstehe. Gebe ich /media/usb/nzbget an ist es abhängig vom Stick ob der Autostart geht. Bei einem 16GB-Stick geht es, bei einem 64GB-Stick nicht. Beide sind per Gparted als NTFS formatiert worden (um sie auch in Windows nutzen zu können). Beide werden über die UUID in der fstab gemountet. Das Problem besteht auch wenn ich in der fstab /dev/sda1 anstatt die UUID eingebe.

Wenn der 64GB-Stick dran ist, startet nzbget zwar nicht beim booten, es geht aber wenn ich es per nzbget -D über ssh starte.

Der 64GB-USB-Stick ist extrem langsam, reicht aber für Downloads vollkommen aus. Ich merke das nur wenn ich ihn unter Windows/Linux verwende und Dateien kopiere. Auch sudo blkid (für UUID in der fstab) dauerte gefühlt recht lange. Evtl. ist der Stick noch nicht gemountet wenn nzbget versucht auf die hinterlegten Dateien zuzugreifen? Mehr fällt mir gerade nicht ein.

Der Autostart erfolgt über init.d-Skript (siehe unten). Kann man den Autostart irgendwie verzögern?

Autostart-Skript:

Code: Alles auswählen

#!/bin/sh
### BEGIN INIT INFO
# Provides:      	NZBget
# Required-Start:	$network $remote_fs $syslog
# Required-Stop: 	$network $remote_fs $syslog
# Default-Start: 	2 3 4 5
# Default-Stop:  	0 1 6
# Short-Description: Start NZBget at boot
# Description:   	Start NZBget
### END INIT INFO
case "$1" in
start)   echo -n "Start services: NZBget"
/usr/local/bin/nzbget -D
;;
stop)   echo -n "Stop services: NZBget"
/usr/local/bin/nzbget -Q
;;
restart)
$0 stop
$0 start
;;
*)   echo "Usage: $0 start|stop|restart"
exit 1
;;
esac
exit 0

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Probleme bei Autostart bei nzbget

Beitrag von rendegast » 06.09.2014 21:36:07

Meldung in /var/log/boot?
(Nach Installation von Debianbootlogd)
ZBsp.

Code: Alles auswählen

# nzbget -Q
No configuration-file found
Please use option "-c" or put configuration-file in one of the following locations:
~/.nzbget
/etc/nzbget.conf
/usr/etc/nzbget.conf
/usr/local/etc/nzbget.conf
/opt/etc/nzbget.conf
Gebe ich ~/downloads an, werden die Dateien unter /root/downoads gespeichert, was ich nicht verstehe.
Das init-Skript wird als root ausgeführt.
root: 'strace -e trace=file nzbget -D'
->

Code: Alles auswählen

11376 stat("/root/.nzbget", 0x7fff8d5b19c0) = -1 ENOENT (No such file or directory)
11376 stat("/etc/nzbget.conf", 0x7fff8d5b19c0) = -1 ENOENT (No such file or directory)
11376 stat("/usr/etc/nzbget.conf", 0x7fff8d5b19c0) = -1 ENOENT (No such file or directory)
11376 stat("/usr/local/etc/nzbget.conf", 0x7fff8d5b19c0) = -1 ENOENT (No such file or directory)
11376 stat("/opt/etc/nzbget.conf", 0x7fff8d5b19c0) = -1 ENOENT (No such file or directory)
Existiert eine entsprechende Datei für die Ausführung unter root?

Sollte es als ein bestimmter Benutzer ausgeführt werden,
das Skript vielleicht als dessen Cronjob '@reboot' aufrufen?

Der Stick ist als MainDir eingerichtet, alle anderen Dateien (log, queue, nzbs) liegen darin in Unterordnern. Gebe ich /home/pi/downloads als Maindir an geht alles.
....
Gebe ich /media/usb/nzbget an ist es abhängig vom Stick ob der Autostart geht. Bei einem 16GB-Stick geht es, bei einem 64GB-Stick nicht.
...
Der 64GB-USB-Stick ist extrem langsam, reicht aber für Downloads vollkommen aus.
Sollte es ein Zeitproblem sein, walkaround

Code: Alles auswählen

start)   echo -n "Start services: NZBget"
until [ -f /media/usb/nzbget/kontrolldatei ]; do
    echo noch nicht
    sleep 1
done
/usr/local/bin/nzbget -D



--------------------------------------------------------
restart)
$0 stop
$0 start
Im example der debian-Pakete ist hier noch ein 'sleep 10' dazwischen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten