Hozzászólások
Csak beleolvastam ide és gondoltam megkérdezem: fut egyáltalán a cron daemon?
Amugy crontab -e szerkesztésben, ha esetleg problémája van valakinek, hogy köv. sor, etc., akkor lehet vi -os edit módszerrel működik. Pl. navigálni: h,j,k,l ; törölni sort: d, inset: i, satöbbi command módban.
Amugy root ként ütemezted a dolgot? Nem tudom, de lehet van valami trace opció, v. loggolás, amit meg lehetne nézni.
Crontab edit után próbáltad cron daemont ujraindítani? Lehet egy kill, aztán start pl. jót tenne neki. (bár, gondolom a rebootot már próbáltad)
- A hozzászóláshoz be kell jelentkezni
Köszi Zahy, működik tökéletesen! :wink:
env EDITOR=/usr/local/bin/kedit crontab -e
A baj csak az, hogy nem akar működni ez a cron... :( Tartalma:
[code:1:bb6b00dd45]35 * * * * /bin/echo "mukodom" > /home/normaluser/proba.txt[/code:1:bb6b00dd45]
És nem csinál semmit. proba.txt-t létrehoztam, még mindig 0 byte...
Morin, hol lehet megnézni hogy fut-e, újrainídtani, leállítani? :roll:
- A hozzászóláshoz be kell jelentkezni
/etc/rc.conf-ban szerepel a
cron_enable="YES" # Run the periodic job daemon.
sor?
- A hozzászóláshoz be kell jelentkezni
Nekem is gondjaim vannak a cron-nal.
A default műveletek, amik eredetileg benne vannak a /etc/crontab fájlban működnek, de amit hozzáadok az nem megy. Lövésem sincs mi lehet a gond.
- A hozzászóláshoz be kell jelentkezni
Most már igen, de hatását nem tapasztaltam. Nyomni kéne egy restartot, mi? ;) Vagyis ez FreeBSD, úgyhogy paranccsal is biztos megoldható... :D
- A hozzászóláshoz be kell jelentkezni
ps aux |grep cron
ha nemfut, akkor /etc/rc.d/cron start
- A hozzászóláshoz be kell jelentkezni
[quote:5d3de62837="ScOut3R"]Nekem is gondjaim vannak a cron-nal.
A default műveletek, amik eredetileg benne vannak a /etc/crontab fájlban működnek, de amit hozzáadok az nem megy. Lövésem sincs mi lehet a gond.
A "crontab -e" -vel kell szerkeszteni, mert ez újraindítja a cron daemont.
A file hivatkozásokat mindig teljes útvonallal kell megadni, a programokat is.
Többsoros utasítás esetén scriptet kell használni.
ELaci
- A hozzászóláshoz be kell jelentkezni
[quote:91e164e0e5="cln"][quote:91e164e0e5="ScOut3R"]Nekem is gondjaim vannak a cron-nal.
A default műveletek, amik eredetileg benne vannak a /etc/crontab fájlban működnek, de amit hozzáadok az nem megy. Lövésem sincs mi lehet a gond.
A "crontab -e" -vel kell szerkeszteni, mert ez újraindítja a cron daemont.
A file hivatkozásokat mindig teljes útvonallal kell megadni, a programokat is.
Többsoros utasítás esetén scriptet kell használni.
ELaci
Sewas! Igaz, hogy nem crontab-e-vel szerkesztettem, de: teljes útvonalat adtam meg, illetve utána újraindítottam a cron-démont. Ettől függetlenül okozhatja ez a problémát?
Sikerült! Valóban az volt a gond, hogy nem a crontab -e paranccsal itnéztem a dolgokat. :) Köszi a segítséget!
- A hozzászóláshoz be kell jelentkezni
[quote:a1b5e2e27e="OxY"]/etc/rc.conf-ban szerepel a
cron_enable="YES"
sor?
[quote:a1b5e2e27e="OxY"]ps aux |grep cron
ha nemfut, akkor /etc/rc.d/cron start
1) /etc/rc.conf-ban szerepel a cron_enable="YES" sor
2) /etc/rc.d/cron start parancsra azt írja, hogy cron already running? (pid=507).
3) ps aux |grep cron parancsot elfogadta
mégsem történik semmi! :cry: Mi lehet a gond? :roll:
- A hozzászóláshoz be kell jelentkezni
Sziasztok,
Az Uptime-Project FreeBSD-s update kliensét szeretném bizonyos időközönként (óránként) lefuttatni. Az oldalról letölthető cuccot telepítve elhelyez egy yasuc futtatható fájlt a bin mapáába, mely konzolból futtatva gyönyörűen megy, és teszi a dolgát. Olvastam a progi mellé adott egyik szövegfájlban, hogy a cron/crontab nevű folyamat tud ilyet. Kerestem is egy leírást: http://www.tech-geeks.org/contrib/mdrone/cron&crontab-howto.htm. Ezek alapján a beállítottam, hogy a yasuc minden óra 24. percében lefusson, ehhez a következő parancs került a /var/cron/tabs/ helyre:
[code:1:440b82ba7c]24 * * * * /bin/yasuc[/code:1:440b82ba7c]
A gond csak az, hogy nem történik semmi se az órák 24. percében... A leírás lehet rossz, vagy másképpen van FreeBSD alatt, vagy én nem csináltam valamit jól? :roll: Amúgy ha konzolból futtatom a progit, nagyszerűen megy...
- A hozzászóláshoz be kell jelentkezni
Hogy raktad be ezt a yasuc, a hova? Mert a hely, amit írtál, értlmetlen, histz könyvtárnevet adtál meg. Szóval rootként azt csináltad, hogy "crontab -e" ? Amúgy FreeBSD-n vagy a /var/cron/tabs, ahol minden felhasználónak lehet crontab -ja, ami a saját nevével megegyező fájlban van, és olyan, mint amit írtál. És van egy /etc/crontab, amiben egy plusz felhasználói név mező is van.
- A hozzászóláshoz be kell jelentkezni
Hát letöltöttem az Uptime-Project oldaláról a klienst, és ahogy a leírásában áll ./install.sh paranccsal telepítettem. Került a bin-be egy yasuc futtatható állomány, és az etc-be egy yasuc.conf beállításokat tartalmazó fájl.
Az elérési út nem lehet rossz, hiszen ha onnan kimásolom, simán futtatja konzolból.
A cron-hoz úgy adtam hozzá, hogy az előbb belinkelt útmutató alapján készítettem egy cron.txt állományt, az előző hozzászólásban Kód mezőben lévő tartalommal, és egy crontab cron.txt-vel hozzáadtam a listájához. Ezután a crontab -l uatsítással ellenőriztem, és tényleg szerepel... Ráadásul a /var/cron/tabs/ helyen kinyitva a szöveges állományt is szerepelt a bejegyzés.
- A hozzászóláshoz be kell jelentkezni
A crontab-hoz mindig a
crontab -e
paranccsal adj hozzá feladatot.
Ha a cron futtatta az időzített feladatot, akkor küldött neked róla egy értesítést (levelet), amit a /var/mail/username mailbox fájlban találsz (ahol a username természetesen annak a felhasználónak a neve, akinek a crontab-jában a futtatandó feladat volt). Konzolból így tudod a levelet megnézni: mail -f /var/mail/username.
Amúgy, ha a cron-nal gondom van, akkor úgy bizonyosodom meg a működőképességéről, hogy először valami egyszerűt írok a crontab-ba a végrehajtandó feladat helyébe, pl:
24 * * * * /bin/echo "működöm" > /home/username/proba.txt
Ha bekerül a szöveg a /home/username/proba.txt fájlba, akkor a cron megy.
Ha a cron megy, de az időzített feladat nem, akkor annak tipikusan két oka szokott lenni:
A) a cron számára a PATH változó alapból üres, azaz bármely futtatható programot csak akkor talál meg, ha a teljes nevét beírják. (Ez megkerülhető, ha a crontab elején értéket adsz a PATH környezeti változónak.)
B) a futtatott program futása közben dialógusra, pl. jelszó beírása, stb. van szükség
- A hozzászóláshoz be kell jelentkezni
Elég trükkös crontab -e paranccsal szerkeszteni, mert ott a konzolban akarja az egészet elvégezni... :roll: Nem akarja az entert enternek venni, nem tudok sortugrani, rendesen navigálni, kilépni... Nincs ennek valami más módja?
- A hozzászóláshoz be kell jelentkezni
[quote:af78732217="janolabs"]Elég trükkös crontab -e paranccsal szerkeszteni, mert ott a konzolban akarja az egészet elvégezni... :roll: Nem akarja az entert enternek venni, nem tudok sortugrani, rendesen navigálni, kilépni... Nincs ennek valami más módja?
Az /usr/bin/editor szimbolikus linket kell megváltoztatnod arra, amire szeretnéd.
Pl.: [code:1:af78732217]rm /usr/bin/editor
ln -s /usr/bin/mcedit /usr/bin/editor
[/code:1:af78732217]
Ekkor a kényelmesebb mcedit-ben szerkeszti a "crontab -e". De az "mcedit" helyére "gedit"-et is tehetsz, akkor végképp grafikus lesz a szerkesztés, igaz X nélkül nem fog menni. (Nem tudom FreeBSD-ben is ezek-e a könyvtárak, de ezt már értelemszerűen változtasd meg).
- A hozzászóláshoz be kell jelentkezni
Nekem csak /usr/bin/edit van, ami alkalmazásnak tűnik, amire meg cserélném az a kedit, de legközelebb csak a /usr/local/bin/kedit útvonalon érhető el... Akkor csak helyettesítsem be ezeket az adatokat; nem baj ha az edit nem parancsikon? :roll:
- A hozzászóláshoz be kell jelentkezni
Nem kell semmi törölni meg linkelni
# export EDITOR=/usr/bin/kedvenceditor
ezt berakhatod bashrc-be, vagy ahova tetszik.
- A hozzászóláshoz be kell jelentkezni
# export EDITOR=/usr/bin/kedit
export: Command not found.
- A hozzászóláshoz be kell jelentkezni
Milyen shell-t hasznalsz?
- A hozzászóláshoz be kell jelentkezni
Ha egyszer FreeBSD, akkor valószínűleg az lehet, hogy root-ként csinálja ezt az egészet, és ott bizony csh (no jó, tcsh) van. Szóval ezért nem megy.
Javaolnám azt a módszert, ami minden _elterjedtebb_ shellben ugyanúgy működik:
env EDITOR=/kedvenc/szövegszerkesztőd/elérési/úttal/adott/neve crontab -e
Amúgy csh-ban azt kéne írni:
setenv EDITOR /ize/mize/ecet
crontab -e
de ne kavarjunk már bele shell tanfolyamot is :-)
- A hozzászóláshoz be kell jelentkezni