rekid Hello! Lenne egy kis gondom a Crontabbal. A dolog renkivul egyszeru. Szeretnek egy shell scriptet futtatni adott idokozonkent. Termeszetesen nem megy. A script ennyi: #!/bin/sh echo "Hello World" >> hello.txt exit 0 Tehat nem egy bonyolult feladat. A File-nak 777 joga van elvileg mindenki babralhatja. Csak teszteles vegett. Namost mit kellene tennem hogy ezt lefuttassa mondjuk 2 percenkent. Eddig probaltam: sudo crontab -e be a kovetkezo sort: */2 * * * * rekid /home/rekid/teszt/hello.sh probaltam az etc/crontab fileban is ugyan ezt igy sem megy. Tipp? vagy egyatalan melyik file-t mokoljam? a megadasi forma jo?:) Üdv!
Gorkhaan sh helyett meg bash-t használj: #!/bin/bash 777-jog meg minek, csak futtatási kell: chmod +x /home/rekid/teszt/hello.sh ( http://ubuntu.hu/blog/charlie/jogosultsagok-linux-rendszerek-alatt ) Az a "rekid" meg nem kell oda, tehát: */2 * * * * /home/rekid/teszt/hello.sh
Sevoir rekidesetleg a sajátod: crontab -e vagy a rendszergazdáét : sudo crontab -e ______________ ..::Sevoir::..
rekid elodigen ki. de vannak egyebkent mas erdekessegek. pl ha terminalban megadom igy a kovetkezo parancsot akarhol: /home/rekid/teszt/hello.sh és az sh-ban csak egy "echo hello" van akkor kiloki terminalba hogy hello ahogy kell. viszont ha mar kiis rakom egy echo "hello" >>hello.txt es igy adom meg ugyan igy akkor nemhozz letre a txt-t. (ellenben ha mondjuk sajat konyvtarabol sh hello.sh parancsot adom ki letrehozza.... wtf? (remlem ertheto a gondom) és szvsz ezert nem csinal semmit a crontab sem.
masm elod58/2 * * * * kicsoda /bin/akarmi.sh A crontab démont nézd meg egyáltalán fut-e ? Pl.: sudo sysv-rc-conf vagy chkconfig --level 2,3,4,5 crond on :) Persze a shell szkript jogait is nézd meg :) !!! sudo chown root:root sudo chmod +x De lehet rc.local fájlal is futtatni : if [ -x /bin/akarmi.sh] then /bin/akarmi.sh fi És hát persze a sleep -et használva lehet késleltetni . GAME OVER
Sevoir rekidamikor a crontabot szerkeszted: a sor végén üss egy entert, biztos, ami biztos alapon... ugyanakkor a saját mappádban add ki a echo "hello" >> hello.txt paracsot... h jogod legyen a mappába írni.. ______________ ..::Sevoir::..
masm rekidA kettő közül bármelyiknek mennie kell akkor meg a script amit írtál az nem jó ! És hát a cron-nak is vannak jogai én a /tmp/... használom ha scriptelek :) Jónak kell lennie valamit el rontol ! Ja és a shell-ben ne használj sudo vagy más jog kezelő parancsot . Én a tűzfalat automatizáltam így és nem szabad sudo ..... használni mert senki nincs ki meg adja a jelszót , hidd el úgy is megcsinálja amit meg kell .
rekid Sevoirnemakarja a jot. egyebkent vicces mert pl ez mukodik: mondjuk 14:05 kor toroljon egy torolni nevu file-t: 05 14 * * * rm /home/rekid/teszt/torolni es torli. :D
rekid masma script jogai: 777 elvileg barki futtathatja nem? script: #!/bin/bash echo "hello" >> hello.txt exit 0 Nem tom mi a gond :D ha mas nem a vegen vagy a scriptet sleepeltetem vagy rc local sleep :o) csakhat crontabbal lenne szep. :) valahogy erzem h a megoldasnal a fejem a falba fogom verni :)
PhazeC echo "Hello World" >> hello.txt Hol legyen a hello.txt? Mindig az aktuális könyvtárban? Az a crontabnak melyik lehet? A saját mappád semmiképp sem. Tehát rendesen kiírva /home/neved/hello.txt lesz a megoldás (remélem)
rekid PhazeCigen ott a pont működik. Szoval az egesz ott bukott hogy a sh-ban nem adtam meg a full utvonalat tehat igen szepen meggkel adni hogy hová is akarom hogy letrehozza az adott txt-t. tehat: ------------------ #!/bin/bash echo "hello world" >> /home/rekid/teszt/hello.txt exit 0 ------------------ a crontab file pedig (crontab -e): */1 * * * * /home/rekid/teszt/hello.sh --------------------- Nagyon szepen köszi a segítseget mindenkinek!