Egyszerű általam írt bash scripteket kellene elindítanom időzítve a cron segítségével. "crontab -e" paranccsal állítom be user szinten az időzétést, de valamiért ezek a scriptek nem futnak le. Bármely más elf program probléma nélkül indítható cron által.
A rendszer Ubuntu Hardy, és a default telepített cron csomagot használom.
Miért nem futnak le ezek a scriptek?
- 1434 megtekintés
Hozzászólások
ez mitol halado?
t
- A hozzászóláshoz be kell jelentkezni
attól, h nem adtál (nem tudtál adni?) segítő választ ;)
- A hozzászóláshoz be kell jelentkezni
Azon mar en is gondolkodtam, hogy neha nem artana a haladon kivul egy Linux-ultima/ultra/hardcore/hacker kategoria is.
--
Debian lenny
- A hozzászóláshoz be kell jelentkezni
Add meg a teljes elérési utat!
/home/jevgenyij/bin/script
--
Debian - The "What?!" starts not!
http://nyizsa.uni.cc
- A hozzászóláshoz be kell jelentkezni
Úgy adtam meg. Egyébként /usr/local/bin/my.script helyen található, ezért egyébként is path-on van, de megadtam direkt a teljes elérési utat. Sőt, a script-en belül elindított többi program is teljes path-al szerepel. A cron mégsem indítja el. Vagy ha igen, egyből le is áll a végrehajtása.
- A hozzászóláshoz be kell jelentkezni
"A cron mégsem indítja el. Vagy ha igen, egyből le is áll a végrehajtása."
Lehet, hogy azt kellene kideriteni, hogy miert all le?
Fut a progi magaban (nem cron-bol)?
- A hozzászóláshoz be kell jelentkezni
Azért állt le, mert nem tudott hova "szemetelni", azaz a virtuális terminálba logolt.
Köszönet mindazoknak, akik értemben segítettek!
- A hozzászóláshoz be kell jelentkezni
/path/to/./my.script
vagy
sh /path/to/my.script
Esetleg? :)
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Milyen script az?
- A hozzászóláshoz be kell jelentkezni
Van futtatási joga az usernek is?
Én egyébként mindenre felkészülve így szoktam kezdeni a scriptet: #!/bin/bash.
- A hozzászóláshoz be kell jelentkezni
A user tudta futtatni, ezért volt meglepő, hogy a cron nem. De már szerencsére megoldódott a probléma.
- A hozzászóláshoz be kell jelentkezni
Szerintem, valamelyik altalad krealt cron bejegyzes hibas.
En egy ls -lut -tal megneznem, hogy a cron.daily stb. szkriptjei kozul melyik mikor ment le utoljara, majd nezd meg a tieidet is. Igy kepbe lehet kerulni, hogy mikortol is van problema.
Ha latszolag minden OK tedd at az egyiket probabol az /etc/crontab -ba, ha ott lefut tuti jogosultsag.
nyc
- A hozzászóláshoz be kell jelentkezni
És mi van a levélben, amit cron bácsi küldött?
- A hozzászóláshoz be kell jelentkezni
Egy ilyen szerelmes levelet:
"segfault at b72f3000 eip b72f3000 esp bf9993dc error 4"
Kiderült, hogy az egyik alkalmazás, amit a bash script hívott meg nem logfile-ba, hanem közvetlenül az őt elindító virtuális terminálba fecsegett. Mivel cron általi indításkor ilyet nem talált, pánikba esett és segfault-olt. :-)
ALKALMAZÁS > /dev/null 2> /dev/null kiegészítéssel már probléma nélkül elindul a cron időzítésével is.
- A hozzászóláshoz be kell jelentkezni
Nem hinnem, hogy ez a kerdes ebbe a forumba valo:
cheklist:
0, alud ki magad.
1, cron script megfelelo? (pl van e csak \n-t tartalmazo sor a vegen)
2, a cron script tartalma megfelelo? (kezzel futtathato a benne levo parancssor?)
3, az adott user le tudja e futtatni (parancsertelmezore torteno hivatkozas/ futtatasi jog stb)
4, ittal e tegnap (neked)sok sort? goto 0
- A hozzászóláshoz be kell jelentkezni
1, cron script megfelelo? (pl van e csak \n-t tartalmazo sor a vegen)
Igen, talán ez a legnehezebben észrevehető hibalehetőség.
- A hozzászóláshoz be kell jelentkezni
Aki oly képzett, hogy ilyen frappánsan tudja algoritmizálni jó tanácsait, igazán tudhatná, hogy az aludd két D-vel írandó.
- A hozzászóláshoz be kell jelentkezni
ez igaz, de ettol meg teljesen igaza van.
t
- A hozzászóláshoz be kell jelentkezni
Nagyon viccesnek találom ebben az esetben, hogy hibát találsz az írásomban, és ettől el tudod olvasni, majd szóváteszed egy olyan környezetben ami nem szintaxis érzékeny. De megfelelő szintaxis nem megy a szintaxis érzékeny helyeken.
Ettől még igazad van persze.
- A hozzászóláshoz be kell jelentkezni