Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: dotsi - 28.03.07 - klo:13.29
-
Terve,
Tarkoituksenani on ajaa cronilla ajastetusti tunnin välein eräs skripti ja kerätä sen tulostus logitiedostoihin. Itse skripti ja logitus toimii mainiosti, mutta ajastus tuottaa päänvaivaa. Crontab näyttää tältä:
ltpk@ebox:~$ crontab -l
# m h dom mon dow command
0 * * * * /home/ltpk/loggaa2 > /home/ltpk/logit/gps_`date +%Y-%m-%d_%H`.txt
Lisäsin myös varmuudeksi käyttäjäni crontab-ryhmään mutta sekään ei auttanut. Mitään ei tapahdu. Tässäkin varmaan on joku pieni juttu jota en itse hoksaa, mutta toivottavasti joku sen taas keksii. Mainittakoon vielä, että cron-daemoni on kyllä käynnissä.
Kiitän jälleen jo etukäteen avustanne.
-
Itse olen laittanut (sudo) ajastukseni tiedostoon /etc/crontab. Se on muuten samanlainen kuin käyttäjien crontabit, mutta sisältää käyttäjätunnus - kentän. Silloin scriptini suoritetaan, vaikken olisi kirjautuneena tai jos vaikka vaimo käyttää konetta.
En tiedä noista käyttäjien omista crontabeista mitään. man crontab voi auttaa? Siellä puhutaan jotain cron.allow ja -.deny listoista, muttei mulla ainakaan sellaisia ollut.
-
Pitääkö muka yleensä olla kirjautuneena sisään jotta crontabin sisältö suoritettaisiin? En ole ainakaan ennen tällaista huomannut.
No, laitoin kokeeksi tuon oman rimpsuni (muokkasin sitä sen verran että muutin ensimmäisen nollan *:ksi ja laitoin toisen *:n tilalle 0-24) /etc/crontabiin ja lisäsin sopivaan väliin myös käyttäjätunnukseni. Seuraavalla tasatunnilla nähdään miten käy ;D
-
Pitääkö muka yleensä olla kirjautuneena sisään jotta crontabin sisältö suoritettaisiin? En ole ainakaan ennen tällaista huomannut.
En tiedä ???
No toivotaan että toimii.
-
Ei ainakaan tuollaisenaan toiminut. Palasin ensimmäiseen versioon.
-
Joo, eipä näytä toimivan. Tässä vielä rivi /etc/crontabissa:
0 * * * * ltpk /home/ltpk/loggaa2.sh > /home/ltpk/logit/gps_`date +%Y-%m-%d_%H`.txt
Ei kai muuten noiden crontabien asennuksen jälkeen tarvitse bootata tai mitään? Kuulostaisi todella oudolta.
-
Testasin itsekin äsken (10 yli ;) ) /etc/crontab:n rivillä
10 * * * * root touch /home/ville/crontesti
ja toimi...
Ja juu, ei tarvitse bootteja tms. aktivointeja. Vika on jossain muualla.
Edit. Mulla oli rootti tuossa tunnuksena, mutta ei sen siitä pitäisi johtua, toki sun tunnukses pitäis saada koheltaa omassa kotihakemistossasi...
-
Juu ei se vaan toimi. Koitin käyttäjätunnuksena sekä omaani että roottia, sama vika.
Greppailin syslogista cronin tekemisiä ja siellä näkyi seuraavaa:
Mar 29 08:00:01 ebox /USR/SBIN/CRON[11923]: (root) CMD (/home/ltpk/loggaa2.sh > /home/ltpk/logit/gps_`date +)
Mar 29 08:00:01 ebox /USR/SBIN/CRON[11922]: (root) MAIL (mailed 125 bytes of output but got status 0x0001 )
Voikohan tuosta jotain päätellä? Käyttämässäni koneessa ei ole asennettuna sendmailia tmv joka noita mahdollisia virheitä lähettelisi mailitse.
-
Mar 29 08:00:01 ebox /USR/SBIN/CRON[11922]: (root) MAIL (mailed 125 bytes of output but got status 0x0001 )
Voikohan tuosta jotain päätellä?
En minä ainakaan... Mulla tuo testi näkyy syslogissa tavallisesti, ilman mitään mailjuttuja.
-
Minullakin kyllä testirimpsu
*/10 * * * * /bin/echo foo >> /home/ltpk/foo.txt
toimii ihan hyvin. Jotain tosi perustavanlaatuista tässä kyllä taas on vikana, keksisi vaan että mitä.
-
Jospa nuo pikkupisteet (`) häiritsee crontab:ssa. Kokeile siirtää tuo suoritus omaan tiedostoon esim. logi.sh ja kutsu sitä suoraan cron:lla
#logi.sh
home/ltpk/loggaa2.sh > /home/ltpk/logit/gps_`date +%Y-%m-%d_%H`.txt
Lisää työ croniin käskyllä:
#crontab -e
Niin ja croni-töiden ajastus ei vaadi boottia tai kirjautuneena oloa.
-
Jep, nuo jännät heittomerkit ja daten muuttujat tosiaan näyttivät sotkevan crontabin suoritusta. Kiitoksia vain avusta!
-
mihin tuon crontab -e käskyn pitäisi yrittää muutoksia tehdä ?
mulla se avaa nanolla tällasen filen /tmp/crontab.ixPrMT/crontab
ei taida mennä ihan niinku pitäis?
mikä on pielessä?
-
crontab -e avaa sen hetkisen käyttäjän ajastustiedoston jonka oletuseditori näyttäisi ubuntussa olevan nano. /tmp/ on väliaikainen talletuspolku ajastukselle.
Jos haluat jonkun muun käyttäjän ajastuksia säätää niin
#sudo crontab -u käyttäjänimi -e