Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: jormala - 14.03.11 - klo:21.57

Otsikko: crontab
Kirjoitti: jormala - 14.03.11 - klo:21.57
Osaisiko joku neuvoa, että miksi alla oleva crontab + ftp scripti ei toimi. Se vai ei näytä tekevän mitään ? Scripti kyllä toimii komentoriviltä, eli /etc/crontab ilmeisesti mättää?

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
17 *   * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6   * * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6   * * 7   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6   1 * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
* * * *  * *  root          ~/jorma/ardu/koe.sh
#

#!/bin/sh

WINDOWS_SERVER= domaini.com/public_ftp
LOCALDIR=/oma/hakemisto/
FILENAME=ulkolampo.png


# transfer the file
ftp -in << EOF
open $WINDOWS_SERVER
user käyttäjä salasana
ascii
lcd $LOCALDIR
put $FILENAME
close
EOF

Otsikko: Vs: crontab
Kirjoitti: JakeStyles - 14.03.11 - klo:22.15
* * * *  * *  root          ~/jorma/ardu/koe.sh

Noni. Ensinnäkin kaikki kohdat * tarkoittaisi että suoritetaan skripti joka minuutti joka tunti joka päivä jne. Sitten tuo osoitus skriptin sijaintiin kannattaa tehdä suorana eli matomerkki pois

Päätä intervalli, esim aina tasatunnein olisi
Koodia: [Valitse]
00 * * *  * *  root          /home/jorma/ardu/koe.sh
tai 6 tunnein välein 15 yli
Koodia: [Valitse]
15 */6 * *  * *  root          /home/jorma/ardu/koe.sh
skriptin toimintaan en ota kantaa, paitsi olet varmasti antanut sille suoritusoikeudet  ;D
Otsikko: Vs: crontab
Kirjoitti: jormala - 16.03.11 - klo:08.08
Se vain ei onnistu. Mikähän mättää, kun tuo crontab ei edelleenkään tottele. Pitäisi siis toistaa minuutin välein tuo testaus scripti. Kyseessä on ubuntu 10.10. Onko joutunut woodoon kohteeksi?

tiedoston matti oikeudet:
-rwxrw---- 1 j j 98 2011-03-16 07:27 koe.sh
j@j-System-Product-Name:~$ ^C

scriptin koe.sh oikeudet:
-rwxrw---- 1 j j 98 2011-03-16 07:27 koe.sh
j@j-System-Product-Name:~$ ^C

/etc/crontab:
#00 * * *  * *  root
# m h  dom mon dow   command
00 * * *  * *  root  /home/matti/koe.sh

scripti testattu ja toimii ainakin komentorivikäskyllä. Scripti matti -tiedostossa:

 #!/bin/bash
 echo "Lasketaan kymmeneen:" > koe.dat
 for luku in $(seq 10)
 do
  echo $luku
 done






Osaisiko joku neuvoa, että miksi alla oleva crontab + ftp scripti ei toimi. Se vai ei näytä tekevän mitään ? Scripti kyllä toimii komentoriviltä, eli /etc/crontab ilmeisesti mättää?

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
17 *   * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6   * * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6   * * 7   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6   1 * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
* * * *  * *  root          ~/jorma/ardu/koe.sh
#

#!/bin/sh

WINDOWS_SERVER= domaini.com/public_ftp
LOCALDIR=/oma/hakemisto/
FILENAME=ulkolampo.png


# transfer the file
ftp -in << EOF
open $WINDOWS_SERVER
user käyttäjä salasana
ascii
lcd $LOCALDIR
put $FILENAME
close
EOF


Otsikko: Vs: crontab
Kirjoitti: _Pete_ - 16.03.11 - klo:09.05
Ehkä olisi paras editoida käyttäjän omaa crontab:

crontab -e

Lue lisää:

man crontab


Tuo ongelma voi johtua siitä, että jos editoit crontab-filejä suoraan, itse demoni ei ota niitä silti käyttöön.
Käyttämällä crontab -e tuo pävitys demonille tehdään oikein.

Otsikko: Vs: crontab
Kirjoitti: Echramath - 16.03.11 - klo:09.11
Ja root on tosiaan myös käyttäjä, jolla on oma crontab, käytä sitä (sudo crontab -e), älä editoi /etc/crontabia.

Erikoiskuoppa, johon pudota, viimeisenkin rivin loppuun tulee laittaa rivinvaihto.
Otsikko: Vs: crontab
Kirjoitti: _Pete_ - 16.03.11 - klo:09.19
Ja root on tosiaan myös käyttäjä, jolla on oma crontab, käytä sitä (sudo crontab -e), älä editoi /etc/crontabia.

Erikoiskuoppa, johon pudota, viimeisenkin rivin loppuun tulee laittaa rivinvaihto.

Tosin nyt kun katsoi tarkemmin tuota quotattua siinähän lukee että tuota pitäisi pystyä editoimaan suoraan ilman crontab --> Lisää kahvia jospa sitä silmät + aivot heräisi.

Joka tapauksessa itse laittaisin scriptit ihan normaali tunnuksen alle ellei ne sitten ihan välttämättä tarvi root oikeuksia.

Otsikko: Vs: crontab
Kirjoitti: JakeStyles - 16.03.11 - klo:14.03
Pitäisi siis toistaa minuutin välein tuo testaus scripti.
/etc/crontab:
#00 * * *  * *  root
# m h  dom mon dow   command
00 * * *  * *  root  /home/matti/koe.sh

Minuutin välein on aika nopea mutta silloin tuo vika rivi menee
Koodia: [Valitse]
*/1  *  *  *  *  root  /home/matti/koe.sh
Eli aina kun minuuttiviisari liikahtaa, yhden välein. Ei mene kuitenkaan sekunnin tarkkuudella vaan käynnistyy sen minuutin aikana.

Huomaa että tuossa on viisi kohtaa ennen suoritettavaa käskyä, eli minuutit, tunnit, kuukaudenpäivä, kuukausi, viikonpäivä (numeroilla).
Otsikko: Vs: crontab
Kirjoitti: jekku - 16.03.11 - klo:15.23
Ja root on tosiaan myös käyttäjä, jolla on oma crontab, käytä sitä (sudo crontab -e), älä editoi /etc/crontabia.

Erikoiskuoppa, johon pudota, viimeisenkin rivin loppuun tulee laittaa rivinvaihto.

Tosin nyt kun katsoi tarkemmin tuota quotattua siinähän lukee että tuota pitäisi pystyä editoimaan suoraan ilman crontab --> Lisää kahvia jospa sitä silmät + aivot heräisi.

Joka tapauksessa itse laittaisin scriptit ihan normaali tunnuksen alle ellei ne sitten ihan välttämättä tarvi root oikeuksia.



Muistaakseni tuo aiheuttaa sitten sen, ettei se systeemitason crontab toimi.
Tuon /etc/crontab:in vahvuutena olen pitänyt sitä että saa samaan skriptiin useita käyttäjiä.
Sorttinsa yleisnäkymä het' laakista.
Otsikko: Vs: crontab
Kirjoitti: jormala - 16.03.11 - klo:16.48
Kiitokset hyvästä neuvoista!  Eiköpä tuo tuosta ratkea.




Osaisiko joku neuvoa, että miksi alla oleva crontab + ftp scripti ei toimi. Se vai ei näytä tekevän mitään ? Scripti kyllä toimii komentoriviltä, eli /etc/crontab ilmeisesti mättää?

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
17 *   * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6   * * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6   * * 7   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6   1 * *   root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
* * * *  * *  root          ~/jorma/ardu/koe.sh
#

#!/bin/sh

WINDOWS_SERVER= domaini.com/public_ftp
LOCALDIR=/oma/hakemisto/
FILENAME=ulkolampo.png


# transfer the file
ftp -in << EOF
open $WINDOWS_SERVER
user käyttäjä salasana
ascii
lcd $LOCALDIR
put $FILENAME
close
EOF


Otsikko: Vs: crontab
Kirjoitti: odysseus - 17.03.11 - klo:17.17
Pitäisiköhän varmistaa, että cron on ylipäätään käynnissä...
Otsikko: Vs: crontab
Kirjoitti: jormala - 18.03.11 - klo:07.08
Pitäisiköhän varmistaa, että cron on ylipäätään käynnissä...
Kyllä cron oli käynnissä. Sain lopulta kaikki kohdalleen ja juttuni toimii. Kävin läpi tarkasti oikeudet ja polut  ym. säännöt. Niinhän se sitten onnistui.