Syslog - oder wie finde ich die Ursache?

matthias12345

Neuer User
Mitglied seit
14 Apr 2009
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich habe Freetz installiert und damit das nicht nur so zum Spass war, habe ich Transmission mit draufgemacht. Damit der Computer ausbleibt beim Download.
Nun habe ich festgestellt, dass praktisch jedes mal, wenn ich mich ins Freetz einlogge, Transmission nicht läuft.
Code:
/var/log/mod.log

rc.mod version freetz-devel
crond is disabled
telnetd is disabled
Starting Freetz webinterface...done.
Starting syslogd...done.
Disk spindown is disabled
Looking for user 'bittorrent' ... found
Starting transmission daemon... 
'/var/media/ftp/uStor02/external' doesn't exist. Creating directory.
'/var/media/ftp/uStor02/external/config' doesn't exist. Creating directory.
'/var/media/ftp/uStor02/external/download' doesn't exist. Creating directory.
without web interface.. start-stop-daemon: cannot start transmission-daemon: No such file or directory
failed.
Starting rrdstats...done.
swap is disabled
bei den Logs steht dann obiges. Hmm, klingt für mich nach einem Problem mit meiner Festplatte. Immerhin findet er die Ordner nicht.
Da hatte ich den Verdacht, es könnte an der an sich wunderbaren Strom-Spar-Effizienz der Festplatte liegen. Wenn keine Zugriffe erfolgen, schläft sie irgendwann ein. Das ist toll, aber nicht toll, wenn man gerade darauf wartet, mit Transmission eine Verbindung zu bekommen. Das also, wenn da kein Transfer läuft, die Festplatte einfach einschläft.
Deshalb hab ich Syslog und RRDStats installiert.
Syslog bringt mir folgendes:
Code:
May 25 16:53:25 fritz user.debug kernel: mcfw: group 0.0.0.0: query tiwlan:0 10sec
May 25 16:53:25 fritz user.debug kernel: mcfw: group 0.0.0.0: query cpmac:0 10sec
May 25 16:54:03 fritz user.warn kernel: [speedup] -> 62.5 MHz
May 25 16:55:02 fritz user.warn kernel: [speedup] -> 125 MHz
Wenn ich abends heimkomme, habe ich einzig diese Logs im Ringpuffer (es scheint mir unsinnig zu sein, mein Log auf die Festplatte schreiben zu wollen, wenn doch das Problem ist, dass diese sich verdünnisiert). Das hilft mir aber nicht weiter.

I. Was kann ich tun, um mein ursprünliches Problem in den Griff zu bekommen?
II. Wie kann ich Syslog dazu bringen, mir bei der Ursachenfindung beizustehen?

Vielen Dank!
Matthias

PS: Inzwischen habe ich den aktuellen Trunk und eben noch Syslog, RRDstats und Spindown(was ich noch nicht getestet habe)
 
Hallo Matthias.
Was Du probieren könntest wäre die Erhöhung der Größe des Ringpuffers (das geht natürlich nicht unendlich). Eine weitere Möglichkeit wäre dann noch, die Gesprächigkeit des Kernel-Log-Dämon zu reduzieren, bzw. ganz zu deaktivieren.

Jetzt mal abgesehen vom Syslog:
Kannst Du den Energiesparmodus der Festplatte nicht deaktivieren, und dafür Sindown einsetzen? Vieleicht versetzt sich die Festplatte bei selbstständigem schlafen legen in ein "Koma" aus der sie nicht mehr aufwacht?
 
Leider wurde versäumt die Option zum Auslagern von Transmission nur für "advanced" sichtbar zu machen, das Auslagern von Diensten hat nämlich so sein Tücken.
Beim Booten der Box werden USB Geräte erst ziehmlich spät erkannt. Deshalb solltest du die Startart auf "manuell" stellen und in der autorun.sh auf dem Stick Transmission mit dem rc-Skript starten (wahrscheinlich /etc/init.d/rc.transmission start).
Optional dann in der autoend.sh ein "stop".
PS: Ich geh mal davon aus, dass du alle Dateien richtig auf die Platte gepackt hast und auch die Pfade stimmen.
 
Leider wurde versäumt die Option zum Auslagern von Transmission nur für "advanced" sichtbar zu machen, das Auslagern von Diensten hat nämlich so sein Tücken.

Ich denke nicht, dass das versäumt wurde, sondern schlicht, dass es bei transmission reichlich egal ist, ob der startet oder nicht. Denn wirklich wichtig ist dieser Service ja nicht ;)
 
Naja, wirklich wichtig ist eigentlich keiner. Ich brauch, wenn ichs mir genau überlege, sogar keine Fritzbox :cool:
Bei Samba ist übrigens das "advanced" aus dem gleichen Grund
 
Ich spinne mal wieder...
Spricht eigentlich was dagegen für external ein rc.script zu basteln und damit mit der Startreihenfolge der kritischen Dienste etwas zu spielen?

Variante 1:
Man gibt dem rc.external eine relativ niedrige Priorität (z.B. 90), sodass es zuletzt startet.
Man legt eine FREETZ-typische Konfigurationsseite dazu an (WebGUI editierbar). Auf dieser Seite kann man dann manuell Dienste eintragen, die relativ spät gestartet werden müssen und relativ früh runtergefahren.
"rc.external start" startet dann die eingetragenen Dienste nacheinander.
"rc.external stop" stoppt sie in der umgekehrten Reihenfolge.
man kann noch load, reboot usw. ähnlich "verarzten".
von mir aus kann man optional eine Überprüfung des Vorhandensein einer bestimmten Partition / eines Verzeichnisses einbauen. Sodass eine gewisse Zeit darauf gewartet wird.

Variante2:
rc.external bekommt eine relativ hohe Startpriorität (z.B. 02 oder 03), sodass es ziemlich am Anfang startet.
rc.external verhindert das Starten von weiteren Diensten, bis gewisse Vorgänge (z.B. mount) erfolgreich abgeschlossen sind. Hier kann man auch auf das Vorhandensein gewisser Partitionen / Verzeichnisse warten.

Die Warteprozedur (Iterationanzahl + Wartezeit) kann samt cgi-Anteile z.B. aus dem Downloader übernommen werden. Es wäre hier auch denkbar diese Idee mit Downloader irgendwie zu verschmelzen, wie wir es mit cuma bereits in external getan hatten. Denn die Aufgaben sind ziemlich ähnlich.

MfG
 
Mir fällt dazu ein:
1 Es könnte Zombies geben, wenn irgendwas im Hintergrund läuft
2 was wenn mehrere Geräte / Partitionen gemounted werden (UUID?)
3 was wenn mehrfach das selbe Gerät eingebunden/entfernt wird (Wird der "Starter" nach dem 1. mal beendet?)
4 kann man das "umount" abfangen?

1 und 3 könnte man umgehen, wenn am in der Nähe vom autorun.sh ein passendes Skript aufruft. 2 und 4 wird schwierig
 
1. Was soll denn im Hintergrund laufen? Mein Vorschlag geht in die Richtung, dass man das Starten eines Dienstes verlegt. Es läuft nichts im Hintergrund. rc.external soll einfach ein Shellskript sein. Es soll zunächst mal kein external-Daemon existieren.
2. Es ist doch momentan so, dass man typischerweise auf einer Partition ein Verzeichnis namens "external" anlegt, wo man die Binaries/Libraries hinpackt. Natürlich sind Sonderfälle theoretisch möglich, aber warum sollte man sie abfangen? Es würde also reichen, nach diesem bestimmten Ziel (Verzeichnis "external" z.B. irgendwo in einem bestimmten Pfad auf uStor01) zu warten, ob es verfügbar ist.
3. Mein Ziel war es nicht nach jedem Einstecken/Abstecken die Dienste starten/beenden. Dafür ist autostart/autoend sicherlich besser geeignet. Es ging mir darum, dass die Box vernünftig rebootet. Im Normalfall stelle ich mir es so vor, dass ein USB-Stick ständig in der Box eingesteckt ist und dort auch eingesteckt bleibt. Wenigstens, wenn dadrauf aktiv ausgeführte Sachen liegen.
4. Trotzdem kann man sich natürlich überlegen, dass mount/umount-Skripte irgendwie auch abgefangen werden. Vielleicht mit einer Filterung nach der besagten Partition mit Binaries. Dann soll eben beim betreffenden mount/umount noch rc.external start/stop ausgeführt werden. Wie man es genau machen kann, weiß ich noch nicht.

MfG
 
Hallo allerseits,
Beim Booten der Box werden USB Geräte erst ziehmlich spät erkannt. Deshalb solltest du die Startart auf "manuell" stellen und in der autorun.sh auf dem Stick Transmission mit dem rc-Skript starten (wahrscheinlich /etc/init.d/rc.transmission start).
Optional dann in der autoend.sh ein "stop".
Ich habe das ausprobiert. Ich habe den Patch für autorun.sh ausgewählt und ein neues Image auf die Box gemacht. Ich habe eine autorun.sh angelegt, in der
Code:
#!/bin/sh
/etc/init.d/rc.transmission start
steht.
Ich wusste nicht, welches das Root-Verzeichnis ist (/var/media/ftp oder /var/media/ftp/uStor02), hab deshalb in beiden diese Datei platziert.

Jetzt habe ich die Box neu gebootet und erwartet, Transmission würde gestartet werden. Wurde es nicht. Woran liegt es?
Irgendwie wird wohl keine meiner autorun.sh's ausgeführt...

Matthias
 
/var/media/ftp/uStor02 ist richtig. Was passiert wenn du die Datei von der Commandline aufrufst?
 
Hallo cuma,

das war genau der Ratschlag den ich gebraucht habe!

Es kam dies hier raus
-sh: ./autorun.sh: Permission denied
so dass nur durch
chmod +x autorun.sh
die Berechtigungen erteilen musste.
Also vielen Dank.

Matthias
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.