rc.local - Raspberry Pi

Le-Ze

rc.local - Raspberry Pi
« kdy: 19. 01. 2016, 20:39:01 »
Zdravím.
Již několikrát se mi stalo že mi přestal fungovat rc.local.
Mam systém zazálohovaný a vždy jsem to přehral.
Dnes se to stalo znovu a mně zajím,jak je složité to znovu zprovoznit?


Trubicoid2

Re:rc.local - Raspberry Pi
« Odpověď #1 kdy: 19. 01. 2016, 21:41:16 »
Přestal fungovat jak? Nepouští se? Zmizel?
A jakej máš os?

Le-Ze

Re:rc.local - Raspberry Pi
« Odpověď #2 kdy: 19. 01. 2016, 22:12:12 »
Přestal fungovat jak? Nepouští se? Zmizel?
A jakej máš os?

Potřebují spustit můj sh skript při spouštění a nefunguje to.
Vytvořil jsem sh skript Run.

/home/pi/Run přes terminal funguje (spusti se)

V rc.local
home/pi/Run start
/home/pi/Run start

Nespustí se a  v syslog nevidím žádnou zmínku o souboru Run.

Dočet jsem se že se rc.local spouští jako služba přes etc/init.d/*rc.local
http://www.fastimages.eu/?v=eeerwr.jpg

A funkčnost zjistím pomocí for i in 2 3 4 5; do ls -l /etc/rc$i.d/ | grep local; done
http://www.fastimages.eu/?v=dddddtxt.jpg
Ale to už je nad me znalostí

Re:rc.local - Raspberry Pi
« Odpověď #3 kdy: 19. 01. 2016, 22:38:15 »
Ten tvoj skript ma root opravnenia?
Na tom druhom obrazku vidis, ze to potrebuje roota.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:rc.local - Raspberry Pi
« Odpověď #4 kdy: 19. 01. 2016, 22:49:03 »
V rc.local
home/pi/Run start
/home/pi/Run start

To je jako co? Co ocekavate od "home/pi/Run start" bez lomitka na pocatku?

Do rc.local dejte neco jako

date > /tmp/lastrun.log

Po restartu se podivejte, jestli tam takovy soubor je a obahuje cas odpovidajici poslednimu restartu. Pokud tam je, hledejte chybu jinde, nez v rc.local. A dejte sem ten vas tajny skript, my se vam smat nebudeme a treba tam nekdo najde chybu.

Ten tvoj skript ma root opravnenia?
Na tom druhom obrazku vidis, ze to potrebuje roota.

Spousti se to z /etc/rc.local a ten jede pod rootem, pojedou pod nim tedy i skripty, ktere zavola.


Jenda

Re:rc.local - Raspberry Pi
« Odpověď #5 kdy: 19. 01. 2016, 23:55:58 »
Jarda: Ještě bych ten "date > /tmp/blabla" dal na začátek toho spouštěného skriptu, ať se zjistí, jestli se to spustilo a zheblo to až někde uprostřed, nebo se to ani nespouští

Trubicoid2

Re:rc.local - Raspberry Pi
« Odpověď #6 kdy: 20. 01. 2016, 07:05:55 »
Jeste řekni, co to je za raspbian a dej sem obsah rc.local. Ale ne obrázkem, normalne to označ v putty a sem nakopiruj

Le-Ze

Re:rc.local - Raspberry Pi
« Odpověď #7 kdy: 20. 01. 2016, 07:48:09 »
V rc.local
home/pi/Run start
/home/pi/Run start

To je jako co? Co ocekavate od "home/pi/Run start" bez lomitka na pocatku?
Mam ještě jedno raspi, které jede v pohodě už dlouho a mam v rc.local
etc/init.d/samba start
home/pi/Run start

Vše se spouští

Když skripty porovnám - úplně stejné.

Žádný lastrun.log se nevytvoří.
V syslog také žádná zmínka o lastrun.log

Kód: [Vybrat]
#!/bin/sh -e
#
# 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.

# Print the IP address
date > /tmp/lastrun.log

_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

exit 0
Dal jsem to na začatek, jak psal Jenda.
Jinak mezi fi - exit 0

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:rc.local - Raspberry Pi
« Odpověď #8 kdy: 20. 01. 2016, 11:16:08 »
Mam ještě jedno raspi, které jede v pohodě už dlouho a mam v rc.local
etc/init.d/samba start
home/pi/Run start

Vše se spouští

Tak to se vam spousti ciste diky vhodnym meteorologickym podminkam, zejmena vysi rosneho bodu. Principielne kdyz se rozbehne rc.local, neni definovan pracovni adresar. Vam to bezi jen diky tomu, ze ten adesar je zrovna na potvoru /. Takze si tam laskave dopiste uvodni lomitka, nepsat uplnou cestu je blby napad.

Citace
Žádný lastrun.log se nevytvoří.
V syslog také žádná zmínka o lastrun.log

Kód: [Vybrat]
#!/bin/sh -e
#
# 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.

# Print the IP address
date > /tmp/lastrun.log

_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

exit 0
Dal jsem to na začatek, jak psal Jenda.
Jinak mezi fi - exit 0

Tohle nejak ńechapu. Ja mel na mysli, abyste sem dal ten svuj skript, ne rc.local, navic nejaky jiny, ve kterem nevidim volani toho vaseho skriptu. A to printf "My IP address is %s\n" "$_IP" jste tam dal vy? Nejak nechapu, kam se to ma vytisknout, kdyz to nebezi v terminalu.  Ale je divne, ze se v /tmp nevytvoril zaznam s datem. Takze vam asi opravdu nebezi rc.local a jestli mate systemd, tak by vam to urcite vysvetlil soudruh Poettering. Eventuelne vam chybi utilita date, coz si muzete vyzkouset spustenim z terminalu. Nebo by to chtelo napsat uplnou cestu, tedy asi /bin/date, protoze mozna pri behu rc.local neni jeste nastavena nejaka cesta nebo co.

Le-Ze

Re:rc.local - Raspberry Pi
« Odpověď #9 kdy: 20. 01. 2016, 11:33:18 »
Tohle nejak ńechapu. Ja mel na mysli, abyste sem dal ten svuj skript, ne rc.local, navic nejaky jiny, ve kterem nevidim volani toho vaseho skriptu. A to printf "My IP address is %s\n" "$_IP" jste tam dal vy? Nejak nechapu, kam se to ma vytisknout, kdyz to nebezi v terminalu.  Ale je divne, ze se v /tmp nevytvoril zaznam s datem. Takze vam asi opravdu nebezi rc.local a jestli mate systemd, tak by vam to urcite vysvetlil soudruh Poettering. Eventuelne vam chybi utilita date, coz si muzete vyzkouset spustenim z terminalu. Nebo by to chtelo napsat uplnou cestu, tedy asi /bin/date, protoze mozna pri behu rc.local neni jeste nastavena nejaka cesta nebo co.

Ten rc.local tu chtěl Trubicoid2
Jeste řekni, co to je za raspbian a dej sem obsah rc.local. Ale ne obrázkem, normalne to označ v putty a sem nakopiruj

Ten rc.local je orginal, jen jsem tam dal to date > /tmp/lastrun.log
To že se nespouští jsem již pochopil také, ale proč?

trubicoid2

Re:rc.local - Raspberry Pi
« Odpověď #10 kdy: 20. 01. 2016, 11:57:02 »
no tak jednak oddelej na zacatku v rc.local to "-e" za sh, to zpusobi, ze po chybe proste skonci a nedodela cely skript

pak prikazy pis plnou cestou, tedy /bin/date > /tmp/lastrun.log

a rekni, co rika
Kód: [Vybrat]
ls -l /etc/init.d/rc.local
a
Kód: [Vybrat]
chkconfig | grep rc.local jestli ho nemas tak
Kód: [Vybrat]
sudo apt-get install chkconfig

nobody

Re:rc.local - Raspberry Pi
« Odpověď #11 kdy: 20. 01. 2016, 11:59:53 »
jestli je tam sYsTeMd tak mu mozna hrablo a vypnul rc.local sluzbu, zapnout by mela jit pomoci:
Kód: [Vybrat]
systemctl enable rc-local.service

typecek

Re:rc.local - Raspberry Pi
« Odpověď #12 kdy: 20. 01. 2016, 12:25:51 »
ak je tam systemd tak by som radsej vytvoril normalny nazov.service kde bude definovane co sa ma spustit a kedy.. Ak je to sluzba ktora pouziva siet a IP adresu osvedcilo sa mi pri problemoch pridat Wants=network-online.target alebo nejak tak.
Vsetko bez problemov. Ak nie je systemd tak vytvorit skript do /etc/init.d/aaa a povolit cez chkconfig na dany runlevel.
Takisto odporucam pisat plne nazvy v skriptoch t.j. nie date ale /bin/date ..

A prehistoricke systemy kde nie je systemd uz prosim vypnite :D

moor

Re:rc.local - Raspberry Pi
« Odpověď #13 kdy: 20. 01. 2016, 12:30:47 »
rc.local bude fungovat na Wheezy a starších. Jenom připomínám, že by rc.local i z něj spouštěné skripty měly být spustitelné. Mě to na rpi (raspbian wheezy) funguje bez problémů.

Le-Ze

Re:rc.local - Raspberry Pi
« Odpověď #14 kdy: 20. 01. 2016, 13:30:58 »
Tady na tom mam také wheezy.
Na tom druhem mam také wheezy
A mam také to nové raspi 2 s jessie
Všude to funguje.
I tu na tom to fungovala.
Za 3 roky se mi stalo že to už 3X padlo.
Vždy pří update -upgrade
http://www.fastimages.eu/?v=kkkkksfs.jpg