Fórum Ubuntu CZ/SK
Ostatní => Archiv => Téma založeno: libco1 26 Června 2007, 14:36:21
-
Cisto zo skusobnych dovodov som vytvoril skript:
nazov:
"reboot.sh"
obsah:
#!/bin/sh
reboot
v adresari:
/usr/sbin
a priradil som mu atributy 755 aby bol spustitelny. (prikaz je oskusany a funguje, urobi restart PC)
Do suboru: /usr/spool/cron/crontabs/root som doplnil riadok>
30 14 * * * root /usr/sbin/reboot.sh
a cakal som ze mi to presne o 14 hod. 30 min. urobi restart. Ale nic sa nestalo.
Poradte mi kde som spravil chybu.
-
Vychádzal som z tohoto:
http://jonatan.spse.pilsedu.cz/vyuka-linux/now/prednasky/planovani-crontab+at.html
-
Mno nevim, ze by cron zral i ze /var/spool, ale je to mozne
Asi jednodussi ale bude ve /etc/cron.d/ vytvorit soubor reboot jehoz obsahem bude prave
30 14 * * * root /usr/sbin/reboot.shrestartujte pak crona a myslim, ze vse bude behat :)
-
Mno nevim, ze by cron zral i ze /var/spool, ale je to mozne
Asi jednodussi ale bude ve /etc/cron.d/ vytvorit soubor reboot jehoz obsahem bude prave
30 14 * * * root /usr/sbin/reboot.shrestartujte pak crona a myslim, ze vse bude behat :)
Díky za odpeveď, ale ja to potrebujem do dreamboxu (satelitný prijímač na palforme linuxu) a ten nemá toho démona - cron.d. Má len crontabs.
-
Mno nevim, ze by cron zral i ze /var/spool, ale je to mozne
Asi jednodussi ale bude ve /etc/cron.d/ vytvorit soubor reboot jehoz obsahem bude prave
30 14 * * * root /usr/sbin/reboot.shrestartujte pak crona a myslim, ze vse bude behat :)
Díky za odpeveď, ale ja to potrebujem do dreamboxu (satelitný prijímač na palforme linuxu) a ten nemá toho démona - cron.d. Má len crontabs.
Už to mám vyriešené, bolo treba spustiť crond, alebo ho spúšťať automaticky vymazaním súboru .dont_start_crond a reštartom stroja.
-
Mno nevim, ze by cron zral i ze /var/spool, ale je to mozne
Asi jednodussi ale bude ve /etc/cron.d/ vytvorit soubor reboot jehoz obsahem bude prave
30 14 * * * root /usr/sbin/reboot.shrestartujte pak crona a myslim, ze vse bude behat :)
Skúsil som to aj na PC v ubuntu a funguje to nasledovne:
do /etc/cron.d som vytvoril súbor:
koniec
obsah súboru:
# /etc/cron.d/koniec: vypínanie linuxu na konci pracovnej doby
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 15 * * * root /opt/shut >/dev/null
a do /opt som vytvoril súbor:
shut
obsah súboru:
#!/bin/bash
# vypínanie linuxu v stanovený čas
shutdown -h now
a priradil som mu atribúty 755.
Cron som reštartoval reštartom PC, lebo som zatiaľ nenašiel iný spôsob. :/
Všetko funguje ako má.:)
-
Jiste, ale prov tak slozite? :)
/etc/cron.d/koniec:
0 15 * * * root shutdown -h now >/dev/null/etc/init.d/cron restart
-
Jiste, ale prov tak slozite? :)
/etc/cron.d/koniec:
0 15 * * * root shutdown -h now >/dev/null/etc/init.d/cron restart
Díky, takto nejako som si to predstavoval. :)
-
no ja mam taky problem a nevim jak ho vyresit
udelal jsem skript na synchronizaci hodin (protoze v Xubuntu jsem tu nikde nabidku NTP nenasel, ani po nainstalovani ntp) a hodil ho do slozky /etc/cron.hourly
a mam pocit ze se nic nedeje (a na hodinach je to i videt)
takze skript je:
/etc/cron.hourly/ntp (prava 755)
obsah je:
ntpdate tik.cesnet.cz
kdyz tento prikaz pustim se sudo v terminalu, tak vse funguje, nevim proc cron (anacron) nejde :( a pokud Vas zajima, proc to tu mam, tak je to proto, ze se mi hodiny neustale zpozduji a nevim proc, za den tak o 5h (ve Win XP no problemo, Xubuntu FF problemo)
nastaveni cronu jsem nemenil
moc prosim o radu...
-
Cron hourly nechte jak je, a v terminalu napiste prikaz:
$ crontab -e Zalozi se Vam vlastni soubor pro cron, do ktereho si pridate prikaz na skript:
1 * * * * /home/jauser/mujskript
Na konci posledniho radku MUSI byt enter, t.j. odradkovani. A ulozte.
Co tam mate vypisete prikazem $ crontab -lOtevre se to v nejakem defaultne zvolenem editoru, takze muzete byt prekvapeny, ale s tim se musite poprat. Cron restartovat nemusite.
-
Cron hourly nechte jak je, a v terminalu napiste prikaz: $ crontab -e Zalozi se Vam vlastni soubor pro cron, do ktereho si pridate prikaz na skript:
1 * * * * /home/jauser/mujskript
Na konci posledniho radku MUSI byt enter, t.j. odradkovani. A ulozte.
Co tam mate vypisete prikazem $ crontab -lOtevre se to v nejakem defaultne zvolenem editoru, takze muzete byt prekvapeny, ale s tim se musite poprat. Cron restartovat nemusite.
tak jsem vse udelal, vse se povedlo, ale nic to zas nedela... :(
-
No predpokladam, ze tam chybi ten uzivatel (na ntpdate bezny uzivatel nema opravneni), ktery dany script spousti, tu radku upravte takto:
1 * * * * root /home/jauser/mujskript
-
to asi nepujde. Bezny uzivatel nemuze nastavovat crontab rootovi. Zkuste spis
$ sudo crontab -u root -e
a sem vlozit pozadovane.
-
Pravda, ja si neuvedomil, ze to spoustim v rootovsky konzoli, omluva za nepresnost.
-
jj, taky jsem to nejak prehledl :)
-
tak zase jsem to vse udelal, zkusil jsem i
1 * * * * root /home/jauser/mujskript
i bez toho slova root
pak i to crontab jako root a porad nic :(
-
Mate na konci radku to odradkovani? Kurzor musi byt dole pod trextem na volnem radku, jinak to nechodi.
Tak si napiste testovaci prikaz, trebas:
* * * * * echo pokus 111111111111111
# kurzor musi byt pod timto textem
A uvidite, jestli funguje.
-
porad nic, dnes jsem to radeji zkusil pres root konzoli, a nic... pridavam zaznam z terminalu (neprve jsem zkousel, ze ten text je posledni radek -> nic, pak jsem dal i pod ten text enter -> nic, tak uz nevim)
buk@Radius-notebuk:~$ sudo -l
User buk may run the following commands on this host:
(ALL) ALL
buk@Radius-notebuk:~$ sudo -i
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
root@Radius-notebuk:~# crontab -l
# m h dom mon dow command
1 * * * * root /home/buk/ntp
root@Radius-notebuk:~# crontab -e
crontab: installing new crontab
root@Radius-notebuk:~# crontab -l
# m h dom mon dow command
1 * * * * root /home/buk/ntp
* * * * * echo pokus 111111111111111
# kurzor musi byt pod timto textem
root@Radius-notebuk:~#
root@Radius-notebuk:~#
root@Radius-notebuk:~#
root@Radius-notebuk:~# crontab -e
crontab: installing new crontab
root@Radius-notebuk:~# crontab -l
# m h dom mon dow command
1 * * * * root /home/buk/ntp
* * * * * echo pokus 111111111111111
# kurzor musi byt pod timto textem
root@Radius-notebuk:~# crontab -l
-
Jste vyjimka, ktera potvrzuje pravidlo, ze cron chodi vsude spolehlive. Nevim co se deje, netusim co poradit. Jsem vycerpanej (z napadu).
-
Tak me uz napada snad jen, kde se nachazi ten soubor crontab (abych kouknul, zda tam je), jake ma mit prava. Pak co presne znamena ta posloupnost *** a tak podobne v tom prikazu? Kdyby se mi to nahodou povedlo zprovoznit, tak abych si umel delat skripty uz sam (na netu jsem zjistil ze neco je hodina, minuta, den apod, ale nevim co znamena co). A za dalsi jsem se koukal na sluzby a bezi mi tu ten ANACRON a pak se stejnym popisem ATD. Neni problem v tom? Nevite jak se pouziva to atd?
Jdu zas googlit, jinak jsem nasel program fcron ci jak, prej je lepsi nez cron (anacron)...
edit://
tak samozrejme jsem nic moc nenasel, ale nasel jsem "program" webmin, je to sprava linuxu pres web, je to celkem pekne... pro zacatecnika jako ja, to je asi nepostradatelna vec
no a ted proc to sem pisu, tusil jsem, ze tam bude polozka cron, samozrejme ze je a tak jsem zkusil pustit muj skript a hodilo mi to chybu, takze problem je tu
Output from command root /home/buk/ntp ..
/bin/sh: root: not found
no vim co to znamena, ale nevim jak to opravit, ale neco musim pouzivat misto toho, mozna bash, sam nevim...
tak snad uz ted nejaka duse poradi
-
man (info) cron, info crontab
m h dom m dow
min | hour | day of the month | month | day of the week
* * * * * command
hvezdicka znamena kazdy, nebo vsechny
takze
* * * * * prikaz
cron spusti prikaz kazdou minutu, kazdou hodinu, vsechny dny v mesici, kazdy mesic a kazdy den v tydnu, tedy prelozeno do cestiny = furt.
Da se pouzit i rozsah trebas */ 30 * * 1,3,12 1-5 znamena kazych 30 minut, v lednu, breznu a prosinci, od pondeli do patku,.
Ostatni v manu, infu.
Jestli pouzivate nejake GUI, tak v KDE je kcron, v Gnome bude taky neco, nevim co. Zkuste to.
-
Jak si tak prezeram forum tak narazim na toto tema. Radius neboj sa nie si sam komu to nefunguje. Ani mne nespusti ten prikaz echo pokus 111111.
Skusam sa rozbehnut program at , ten mi ciastocne ide. Ked mu zadam cp ~/subor ~/Skuska/ tak to spravi ale ked chcem napr. /usr/bin/mozilla tak sa nic nestane...... Kde moze byt chyba??? ??? ??? ??? Dik.
-
tak to uz mne nenapada nez ze by to bezelo chrootovane v nejakem prastenem adresari, ale to je dost divne ...
-
mno... ja myslim ze jsme svuj problem vyresil, nejspis byl problem v tom prikazu... protoze on si ******* root /home...blabla prebral jako root/home...blabla...
kdyz jsem to root odstranil, tak prikaz probehl, nicmene nevim, zda je to funkcni pres crona, protoze jsem si nainstaloval toho webmina a tam jsem primo pustil ten prikaz (v modulu cron jobs)... takze asi uz by to jelo.
ale proc sem pisu, muj problem jsem vyresil v modulu hw -> systemovy cas
a zde se da primo a komfortne nastavit update casu pomoci weboveho rozhrani (pravdepodobne to posuti tez pres crona, je to stejny jako v modulu cron jobs)....
no proste problem vyresen... jdu lamak skebli nad necim jinym, co potrebuji (zatim ale nevim, neco me napadne), do te doby jsem spokojeny uzivatel :p a vsem za pomoc moc dekuji
doporucuji pro nezkusene a stredne zkusene uzivatele
http://www.webmin.com/download.html
edit://
jj, tak je to tak, webmin si udela svoje skripty pro crona a funguje to ok :)
-
Takze. Nainstaloval som mail program.
Teraz ked zeditujem crontab a napisem tam sudo crontab -e
10 17 * * * cp /home/phobus/subor /home/phobus/skuska/
tak to v pohode skopiruje.
Ale ked tam napisem :
10 17 * * * /usr/bin/mozilla
tak dostaneml vypis pomocou mail programu ktory je :
Message 1:
From root@phobus-desktop Fri Oct 12 17:10:02 2007
X-Original-To: root
From: root@phobus-desktop (Cron Daemon)
To: root@phobus-desktop
Subject: Cron <root@phobus-desktop> /usr/bin/mozilla
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Date: Fri, 12 Oct 2007 17:10:01 +0100 (BST)
(firefox-bin:6442): Gtk-WARNING **: cannot open display:
Taky isty vypis dostanem ked chcem takto isto spustit barjaky iny program.
Nejake napady ??? Chcel by som to vyriesit.
-
No tak na zahranicnych forach som sa docital ze ked chcem spustit program ktory ide cez X-server tak to tam musim napisat. Takze ked to je skript tak (priklad pre mozillu)
#!/bin/bash
export DISPLAY=:0.0
/usr/bin/mozilla
a potom do crontab:
# m h dom mon dow command
58 18 * * * /home/phobus/skuska/mozilla.sh
alebo priamo do crontab:
DISPLAY=:0.0
# m h dom mon dow command
58 18 * * * /usr/bin/mozilla
Na tych zahranicnich forach im to takto funguje ale mne NIE.
Z programu mail dostanem vypis :
Message 1:
From root@phobus-desktop Fri Oct 12 18:54:01 2007
X-Original-To: root
From: root@phobus-desktop (Cron Daemon)
To: root@phobus-desktop
Subject: Cron <root@phobus-desktop> /usr/bin/mozilla
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <DISPLAY=:0.0>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Date: Fri, 12 Oct 2007 18:54:01 +0100 (BST)
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
(firefox-bin:7072): Gtk-WARNING **: cannot open display:
Rozdiel s tym predchadzajucim vypisom su tie dva zvyraznene riadky. Viem co to znamena ale neviem ten
problem vyriesit. Napadne niekoho nieco??? Dik.
-
Takze som na to prisiel :) .
Zhrnem to (dufam ze to nebude moc dlhe):
Ked ste prihlaseny pod nejakym uzivatelom (co je zvycajne v Ubuntu) , nie ako root a spustite crontab cez suda
"sudo crontab -e"
tak potom musite do tabulky v crontab na zaciatok zadad premennu HOME=/home/uzivatel/ asi takto :
HOME=/home/uzivatel/
a potom ked chcete spustit nejaky program ktory sa spusta cez X-window tak tam musi byt dalsia premenna
DISPLAY=:0.0 ,
ale ked si otvorite tabulku bez suda iba "crontab -e" tak tam nemusite urcovat premennu HOME.
Takze vysledny vzorec pre programi cez X-window , ak otvorite crontab ako sudo je :
HOME=/home/uzivatel/
DISPLAY=:0.0
# m h dom mon dow command
50 19 * * * /usr/bin/program_ktory_chcete
no a ak otvorite crontab bez sudo tak potom :
DISPLAY=:0.0
# m h dom mon dow command
50 19 * * * /usr/bin/program_ktory_chcete
A ked nechcete do crontab pridavat DISPLAY=:0.0 tak si musite vytvorit skript a tam ho exportovat:
#!/bin/bash
export DISPLAY=:0.0
/usr/bin/program_ktory_chcete
a nezabudnut tento skript nastavit ako spustanie suboru ako program.
Teraz ked to pisem sa mi to zda take proste , ale predtim.....
a to je vsetko co som chcel ;).