Portál AbcLinuxu, 10. května 2025 11:06

Dotaz: skript ktorý nahradí crond

Libco avatar 30.11.2007 13:17 Libco | skóre: 8 | Banska Bystrica - sk
skript ktorý nahradí crond
Přečteno: 880×
Odpovědět | Admin
Dopredu sa ospravedlňujem za lama otázku.
Mám linuxový satelitný prijímač a bohužial busybox v systéme (img)nedisponuje funkciou crond.
Keď tam bol iný img s crondom, súbor root vyzeral takto:
0,15,30,45 * * * * /var/tuxbox/plugins/keysupdater.sh 1>/dev/null 2>/dev/null

Preto potrebujem skript, ktorý bude plniť podobnú funkciu ako crond.

Vytvoril som si tento skript:
#!/bin/bash
while :; do
echo "Spustenie script.sh"
sleep 15m
done

Ale namiesto riadku: echo "Spustenie script.sh" tam potrebujem príkaz na spustenie /var/tuxbox/plugins/keysupdater.sh 1>/dev/null 2>/dev/null

Nechápem prečo je tam tá časť 1>/dev/null 2>/dev/null. Možno aby sa to nezobrazovalo na obrazovke TV. Pretože keď spustím keysupdater cez diaľkové ovládanie, vypisuje to na obrazovku rôzne informácie. Keby to každých 15 minút asi by som sa zbláznil.:)

Može mi prosím niekto poradiť?
lama
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.11.2007 13:24 Arno3t | skóre: 23 | Uherské Hradiště
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Odpovědět | | Sbalit | Link | Blokovat | Admin
Usuzujete zcela spravne. Vsechny vytupy, standardni i chybovy jdou do /dev/null, cili zmizi.
Libco avatar 30.11.2007 13:30 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Takže skript má vyzerať takto?

#!/bin/bash
while :; do
/var/tuxbox/plugins/keysupdater.sh 1>/dev/null 2>/dev/null
sleep 15m
done
lama
Libco avatar 30.11.2007 13:43 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Alebo takto?

#!/bin/bash
while :; do
. /var/tuxbox/plugins/keysupdater.sh 1>/dev/null 2>/dev/null
sleep 15m
done

Poraďte mi prosím.
lama
zoul avatar 30.11.2007 13:51 zoul | skóre: 43 | blog: | Boskovice
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
S tečkou by to nejspíš fungovalo taky, bez tečky je to jednodušší. Většina lidí by to napsala bez tečky (volaný skript pak musí být spustitelný, což u vás je). Tečka je shellový příkaz source, viz například man bash.
zoul avatar 30.11.2007 13:45 zoul | skóre: 43 | blog: | Boskovice
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Jo. Plus to přesměrování všeho do /dev/null se dá zařídit kratším výrazem &> /dev/null.
30.11.2007 13:57 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Na to pozor, v bashi to funguje, ale crond spouští úlohy pomocí /bin/sh
zoul avatar 30.11.2007 14:03 zoul | skóre: 43 | blog: | Boskovice
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Aha, děkuju. Obyčejný sh jsem už hrozně dlouho neviděl (vždycky je to akorát link na bash), takže už jsem asi trochu pobašovatěl :)
30.11.2007 14:07 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
On je to sice v Linuxu téměř (?) vždy link na bash, ale bash (aspoň podle dokumentace), je-li volán jako sh, emuluje chování tradičního sh. Osobně to řeším tak, že do cron tabulek nebo úloh spouštěných přes at dávám jen spuštění skriptu a v tom skriptu už pak nemusím přemýšlet, co je rozšíření bashe a co ne.
zoul avatar 30.11.2007 14:35 zoul | skóre: 43 | blog: | Boskovice
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Vypadá to, že konstrukci &> dodržuje i jako /bin/sh:
zoul@naima:~$ /bin/sh <<CUT
> #!/bin/sh
> 
> (echo standardní; echo chybový 1>&2) &> /dev/null
> CUT
zoul@naima:~$ 
1.12.2007 16:21 Ash | skóre: 53
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Asi nejčastěji se každopádně setkávám s >/dev/null 2>&1
30.11.2007 15:38 raboo
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
, ktery by mel presmerovavat takto...
30.11.2007 13:30 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Odpovědět | | Sbalit | Link | Blokovat | Admin
V případě úloh spouštěných přes cron se výstup (standardní i chybový), není-li přesměrován, posílá mailem příslušnému uživateli.
Libco avatar 30.11.2007 13:50 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Ďakujem za rady, po práci to vyskúšam a dám info.
lama
Libco avatar 1.12.2007 15:18 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Tak som to dal do sat prijímača a ide to fajn. Ďakujem ešte raz. Dal som to bez botky.
Ešte by som mal jednu otázku.
Čo mám urobiť aby sa mi to spúšťalo automaticky so štartom linuxu? Myslím že by sa to nejak malo dať do init.d, ale neviem ako.
lama
Libco avatar 3.12.2007 20:50 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: skript ktorý nahradí crond
Tak som to nakoniec vyriešil. Vo /var/etc som vytvoril script:

init
#!/bin/sh
# cesta k scriptu
/var/tuxbox/plugins/auto.sh &

a ide to ako má.
Spúšťa sa po reštarte satprijímača.
Ďakujem všetkým za pomoc.
lama

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.