Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: mangui 08 Dubna 2008, 17:26:41
-
Zdravim
Mám takovej problém s cronem... Nejprve jsem si chtěl jen tak vyzkoušet jestli to vůbec funguje a.... nefunguje :(
Zadal jsem sudo crontab -e a zapsal toto:
1 * * * * echo nazdar
a od řádkoval (smysl ve vypisování hlášky nazdar nehledejte jedná se pouze o test)
po pár desítkách minut sem si všiml, že chba by mohla být v ukádání, páč jako místo uložení mi to nabídne toto
File Name to Write: /tmp/crontab.6YP0rh/crontab
tmp asi nebude to správné... proto by mě zajímalo, kam ho mám uložit??
Děkuji
-
To ukladani je slozitejsi, on nepouziva ukladani editoru, ale uklada si sam, kvuli cronu. Asi jste to vubec neulozil. Spustte crontab -l, uvidite Vas crontab. Kdyz tam nic nebude, zapiste to znovu a ulozte. Kam se uklada Vas nemusi zajimat, on se s tim vyrovna. Opravdu jste odradkoval?
-
Ano opravdu jsem to odřádkoval a pokud zadám crontab -l normálně tam vidím to co jsem zapsal
-
tak to musi jet. Ted me napada, ten casovy plan co jste napsal znamena: 1 minutu v kazdou celou hodinu, kazdy den, proste furt. Resp. vzdy jednu minutu po cele. Tak jste to asi nemyslel. Chtel jste kazdou minutu, ale to je jinak, za domaci ulohu mate zjistit jak.
-
tak to musi jet.
To si říkám taky :D
Nemá se tam třeba něco ukončovat (něco jako středník na konci) nebo dávat něco do uvozovek??
jo ještě něco...
když dám sudo crontab -e
a pouze crontab -e je v tom rozdíl??
-
sudo spusti rootovsky crontab (asi) normalni crontab edituje uzivatelsky. Kazdy ma svuj. bacha, muzou si lezt do zeli.
-
a neni ten problem spis v tom, jake prikazy muze cron spoustet? kdyz jako prikaz dam "echo lamo" nebo "firefox", tak se nic nestane, zatimco kdyz dam "echo lamo >> ~/lamo.txt", tak to udela co ma...
-
Mám úplně stejný problém. Víte někdo co děláme špatně?
-
Podle mě to souvisí se směrováním výstupu. Příkaz echo nazdar směruje výstup na konzoli. Nicméně cron se spouští na pozadí, a proto výše uvedený příkaz "nefunguje". Musíte ho směrovat do souboru tak, jak Vám radí Marvn.
Macky
-
Děkuji za rychlou reakci, Macky.
No a když to jede na pozadí, znamená to, že můžu pustit jen nějaký neinteraktivní program? A mám tedy nějakou jinou možnost např. ten Firefox spustit v určitý čas tak aby mi to běželo?
-
Tak jsem to zkusil s programem, který může jet sám. Spustil jsem si MEncoder na stažení streamu a jeho uložení do souboru. To se spustí správně. Měl jsi pravdu, dík!
Jenže mi tu vznikl další problém, a tím je délka činnosti.
Zatímco když napíšu příkaz na příkazovou řádku a MEncoder jede to dokud ho nezastavím, stejný příkaz spuštěný cronem jede jen asi 3 vteřiny a skončí.
(tváří se to, jakoby se ukončil stream mms: , ale to není pravda)
Nechci tady unavovat debatou mimo téma, tak zpět ke cronu:
Myslel jsem, že cron slouží jen ke spuštění, a pak už se dějě všechno tak, jako kdybych to napsal já do příkazové řádky.
Vidím, že ne - překvapila mě ta "práce na pozadí".
Je tam ještě nějaká jiná odlišnost?
Napadlo mě, jestli při spuštění v cronu není pro spuštěný proces vyhrazený omezený čas, po němž se ta "práce na pozadí" přeruší (tady zhruba ty 3 vteřiny).
-
Ty tři vteřiny s tím, že je to spouštěné na pozadí podle mého nesouvisí. Pravděpodobně tam bude ve hře ještě nějaký jiný faktor - bohužel mě momentálně nenapadá, čím by to mohlo být...
Zkuste ještě použít příkaz at. Informace o něm získáte obligátním info at popř. je o něm také krátká zmínka na http://wiki.fedora.cz/doku.php?id=navody:prirucka:prompt#periodicke_spousteni_procesu (http://wiki.fedora.cz/doku.php?id=navody:prirucka:prompt#periodicke_spousteni_procesu). Možná, že se bude tento příkaz chovat "ukázněněji".
Macky
-
Prima! Teďka už se to s tím at příkazem chová správně, tak jak chci.
Díky, Macky! Přeju příjemnou úplňkovou neděli!