Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [OPGELOST] rc.local wordt soms niet uitgevoerd  (gelezen 5305 keer)

Offline tmp_t

  • Lid
[OPGELOST] rc.local wordt soms niet uitgevoerd
« Gepost op: 2009/03/20, 21:41:10 »
Ik heb een aantal actie's (en programma's die gestart moeten worden) opgenomen in rc.local.
Dat werkt ook, maar... niet altijd.
Soms (10% van de gevallen) lijkt het hele script in /etc/rc.local niet uitgevoerd te worden.

Hoe zou dit kunnen? Ik kan zelf geen aanwijzingen voor problemen vinden...
« Laatst bewerkt op: 2009/03/28, 13:15:50 door tmp_t »

Offline ivo

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #1 Gepost op: 2009/03/20, 21:44:47 »
Ik heb een aantal actie's (en programma's die gestart moeten worden) opgenomen in rc.local.
Dat werkt ook, maar... niet altijd.
Soms (10% van de gevallen) lijkt het hele script in /etc/rc.local niet uitgevoerd te worden.

Hoe zou dit kunnen? Ik kan zelf geen aanwijzingen voor problemen vinden...


Ik zou bijna durven te stellen dat dit onmogelijk is.
Kun je het script hier eens posten.
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #2 Gepost op: 2009/03/20, 21:50:52 »
jawel...

De &'s aan het einde van de regels heb ik al toegevoegd om te zorgen dat het script er niet op kan blijven hangen.

#!/bin/sh
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/etc/bkfirewall.fw &
find /var/opnamen -type f -mtime +30 -exec rm {} \; &
mv -f /var/opnamen/BKlive.mp3 /var/opnamen/BK$(date +%Y%m%d_%T).mp3 &
mv -f /var/opnamen/BKliveHQ.ogg /var/opnamen/BKHQ$(date +%Y%m%d_%T).ogg &
chmod a+r /var/opnamen/* &
chmod a+w /var/opnamen/* &
sleep 5
/root/autoshutdown &
/usr/local/bin/darkice &
exit 0

Offline ivo

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #3 Gepost op: 2009/03/20, 22:10:20 »
Ik zou al die &'s weglaten. Heb je dat al geprobeerd?
Is niet echt nodig in een script.
Wat doet die sleep daar? Ja, 5 seconden wachten, maar waarom?

Je zegt dat het lijkt alsof het niet wordt uitgevoerd.
Waaruit concludeer je dat?
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #4 Gepost op: 2009/03/20, 22:15:54 »
Die & heb ik juist toegevoegd omdat ik problemen had, dus die zijn niet de oorzaak

Soms wordt het script uitgevoerd.
Soms ook helemaal niet.

Het eerste commando moet de firewall (iptables) starten. Dat zou in de logfile moeten komen. Dit gebeurt niet.
Ook de mv opdrachten gebeuren dan niet.

Die sleep hoort er ook niet. Die heb ik toegevoegd omdat ik dacht dat de volgende commando's mogelijk te vroeg zouden komen.

Offline ivo

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #5 Gepost op: 2009/03/20, 22:20:56 »
Die & heb ik juist toegevoegd omdat ik problemen had, dus die zijn niet de oorzaak


Wat voor problemen waren dat dan?
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #6 Gepost op: 2009/03/20, 22:22:06 »
Die & heb ik juist toegevoegd omdat ik problemen had, dus die zijn niet de oorzaak


Wat voor problemen waren dat dan?


Deze problemen: het niet uitvoeren van het script

Offline ivo

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #7 Gepost op: 2009/03/20, 22:43:32 »
Die & heb ik juist toegevoegd omdat ik problemen had, dus die zijn niet de oorzaak


Wat voor problemen waren dat dan?


Deze problemen: het niet uitvoeren van het script

OK, dus die &'s lossen dat probleem niet op. Weg ermee dus.
Dan wil ik graag dat je het script met de hand start vanuit een terminal en hier alle output post.
Wat doet die autoshutdown?

There are only 10 types of people in the world; those who understand binary and those who don't.

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #8 Gepost op: 2009/03/20, 22:52:12 »
Het script geeft geen output.

Die autoshutdown zet een shutdown -h 120
(en moet dus wel een & hebben, anders loopt het script niet door)

Maar ook het eerste commando wordt al niet uitgevoerd.
Ik neem aan dat dat wel gebeurd zou moeten zijn, ookal zouden er verderop in het script fouten optreden.

Offline track

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #9 Gepost op: 2009/03/20, 22:57:19 »
Hoi tmp_t,

wil je even uitleggen wat de bedoeling van die "&" aan het eind is ?
Ik ken maar een "&&" als ik het volgende commando pas wil uitvoeren nadat het eerste met succes af is.
En voor een tijdelijke "debug" zou ik liever echo's met een tijdstempel gebruiken. Misschien op die manier ? :
echo -n "start: " > /tmp/test.txt && hwclock -r  >> /tmp/test.txt && /etc/bkfirewall.fw &&\
 echo -n "  klaar: " >> /tmp/test.txt && hwclock -r  >> /tmp/test.txt && echo >> /tmp/test.txt

Mijn handleiding voor het scripten is  http://www.gnulamp.com/bashprogramming.html
en een mooie verzameling van de man-pages vind je op  http://linux.die.net/man/ .

track

Offline ivo

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #10 Gepost op: 2009/03/20, 23:07:04 »
Wat zegt een
ls -l /etc/rc.local
ls -l /etc/init.d/rc.local
?

There are only 10 types of people in the world; those who understand binary and those who don't.

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #11 Gepost op: 2009/03/21, 18:13:10 »
Hoi tmp_t,

wil je even uitleggen wat de bedoeling van die "&" aan het eind is ?

Die is om te zorgen dat de opdracht als apart proces wordt uitgevoerd. Zo heeft deze opdracht verder geen invloed meer op het script en kan het script verder lopen voordat de opdracht klaar is.

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #12 Gepost op: 2009/03/21, 18:17:23 »
Wat zegt een
ls -l /etc/rc.local
ls -l /etc/init.d/rc.local
?



$ ls -l /etc/rc.local
-rwxr-xr-x 1 root root 630 2009-03-10 19:24 /etc/rc.local

$ ls -l /etc/init.d/rc.local
-rwxr-xr-x 1 root root 788 2008-10-14 15:02 /etc/init.d/rc.local

Offline ivo

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #13 Gepost op: 2009/03/21, 21:58:53 »
Wat zegt een
ls -l /etc/rc.local
ls -l /etc/init.d/rc.local
?



$ ls -l /etc/rc.local
-rwxr-xr-x 1 root root 630 2009-03-10 19:24 /etc/rc.local

$ ls -l /etc/init.d/rc.local
-rwxr-xr-x 1 root root 788 2008-10-14 15:02 /etc/init.d/rc.local


Jammer, nix mis mee.

There are only 10 types of people in the world; those who understand binary and those who don't.

Offline vanadium

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #14 Gepost op: 2009/03/22, 19:53:02 »
Gelukkig, zou ik zeggen.
Om te "debuggen" of hij al dan niet alles doorloopt, kan je eens tussen ieder commando een echo statement tussenvoegen, zoals

echo 01--$(date) > /rcdebug
find /var/opnamen -type f -mtime +30 -exec rm {} \; &
echo 02--$(date) >> /rcdebug
mv -f /var/opnamen/BKlive.mp3 /var/opnamen/BK$(date +%Y%m%d_%T).mp3 &
...
(02, 03, ...) . Dan kan je als je vermoedt dat het niet heeft gewerkt, eens checken of hij erdoor is gegaan door in het bestand /rcdebug te kijken (merk op: één ">" de eerste keer - bestand wordt nieuw gecreëerd, ">>" de volgende keren: toevoegen aan het bestand  ... maar wellicht weet je dat al wanneer je met rc.local aan het spelen bent).  Ook hebben vele programma's een "-v" (verbose) optie, en je kan dan ook de uitvoer naar een bestand omleiden om achteraf te zien wat er is gebeurd.

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #15 Gepost op: 2009/03/25, 15:55:27 »
Het heeft even geduurd voordat ik dit kon testen, maar het is gelukt.
Het resultaat is dat de file  (/rcdebug) niet aangemaakt wordt.
Het lijkt er dus op dat het hele script niet aangeroepen wordt, zoals ik in eerste instantie ook dacht.

Vraag is nu: hoe kan dat?

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: rc.local wordt soms niet uitgevoerd
« Reactie #16 Gepost op: 2009/03/25, 16:03:00 »
Je kan een commando aan het begin invoegen zodat het bestand aangemaakt wordt:
touch /rcdebug

Maar zie je überhaupt iets op je scherm verschijnen als je handmatig rc.local uitvoert?

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #17 Gepost op: 2009/03/25, 16:13:34 »
Je kan een commando aan het begin invoegen zodat het bestand aangemaakt wordt:
touch /rcdebug

Opzich werkt het principe wel, want zoals aangegeven wordt rc.local soms niet uitgevoerd.
Soms ook wel, en dan zie ik netjes een rcdebug met timestamps etc.

Maar zie je überhaupt iets op je scherm verschijnen als je handmatig rc.local uitvoert?

Nee. En dat betekent volgens mij dat er geen foutmeldingen optreden in het script. Er zit niks in wat een foutmelding genereert.
« Laatst bewerkt op: 2009/03/25, 16:18:51 door tmp_t »

Offline woteb

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #18 Gepost op: 2009/03/25, 16:21:02 »
Het script geeft geen output.

Die autoshutdown zet een shutdown -h 120
(en moet dus wel een & hebben, anders loopt het script niet door)

Maar ook het eerste commando wordt al niet uitgevoerd.
Ik neem aan dat dat wel gebeurd zou moeten zijn, ookal zouden er verderop in het script fouten optreden.
Je kunt toch ook gewoon shutdown -h 120 && uitvoeren. Daar heb je toch geen apart script voor nodig, want rc.local is al een script.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #19 Gepost op: 2009/03/25, 16:23:36 »
Het script geeft geen output.

Die autoshutdown zet een shutdown -h 120
(en moet dus wel een & hebben, anders loopt het script niet door)

Maar ook het eerste commando wordt al niet uitgevoerd.
Ik neem aan dat dat wel gebeurd zou moeten zijn, ookal zouden er verderop in het script fouten optreden.
Je kunt toch ook gewoon shutdown -h 120 && uitvoeren. Daar heb je toch geen apart script voor nodig, want rc.local is al een script.

Nou... dat is een lang verhaal, maar het autoshutdown-script is iets ingewikkelder. Komt erop neer dat je niet nog een keer een shutdown kan doen als er al een klaar staat. En dat geeft een probleem.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: rc.local wordt soms niet uitgevoerd
« Reactie #20 Gepost op: 2009/03/25, 16:26:25 »
Heb je de logs in /var/log/ al bekeken?
Als door een fout dat bestand niet uitgevoerd kan worden moet je dat terug kunnen vinden lijkt me.

Offline woteb

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #21 Gepost op: 2009/03/25, 16:41:24 »
Nou... dat is een lang verhaal, maar het autoshutdown-script is iets ingewikkelder. Komt erop neer dat je niet nog een keer een shutdown kan doen als er al een klaar staat. En dat geeft een probleem.
Maar je gebruikt nu allemaal losse scriptjes. Kun je niet beter één script maken en dat in /etc/rcS.d zetten met een bepaald level? /etc/rc.local is eigenlijk bedoelt om simpele commando's uit te voeren, zoals bijv. iwconfig wlan0 rate 54M zodat een draadloos kaartje op een bepaalde snelheid wordt vastgezet.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #22 Gepost op: 2009/03/25, 17:56:38 »
Misschien heb je gelijk.
Maar het stelt ook weer niet heel veel voor.

En het gaat erom dat het script niet uitgevoerd wordt. Hoeveel ik er ook in zet, het moet wel uitgevoerd worden.

Offline track

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #23 Gepost op: 2009/03/25, 18:16:13 »
 ... tenzij er een hinder is.  En precies dat zoeken wij toch ?

Dus toch best op alle plaatsen en scripten in dit verband van die tijdstempel-echo's bijvoegen en de eigen debug onderzoeken.

track

Offline tmp_t

  • Lid
Re: rc.local wordt soms niet uitgevoerd
« Reactie #24 Gepost op: 2009/03/25, 18:50:54 »
... tenzij er een hinder is.  En precies dat zoeken wij toch ?

Dus toch best op alle plaatsen en scripten in dit verband van die tijdstempel-echo's bijvoegen en de eigen debug onderzoeken.

track

Dat heb ik gedaan in /etc/rc.local
De eerste echo die erin staat (tevens de eerste regel) wordt al niet uitgevoerd.
M.i. wordt het script dus niet gestart.
Wat is de volgende stap die ik kan doen?