Kirjoittaja Aihe: crontab  (Luettu 2322 kertaa)

jormala

  • Käyttäjä
  • Viestejä: 11
    • Profiili
crontab
« : 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

« Viimeksi muokattu: 14.03.11 - klo:22.00 kirjoittanut jormala »

JakeStyles

  • Käyttäjä
  • Viestejä: 70
  • Cold, So Cold...
    • Profiili
Vs: crontab
« Vastaus #1 : 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
"Who is General Failure and who is he reading my hard disk?"

jormala

  • Käyttäjä
  • Viestejä: 11
    • Profiili
Vs: crontab
« Vastaus #2 : 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



_Pete_

  • Käyttäjä
  • Viestejä: 1690
  • Fufufuuffuuu
    • Profiili
Vs: crontab
« Vastaus #3 : 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.


Echramath

  • Käyttäjä
  • Viestejä: 239
    • Profiili
    • http://iki.fi/ech/
Vs: crontab
« Vastaus #4 : 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.

_Pete_

  • Käyttäjä
  • Viestejä: 1690
  • Fufufuuffuuu
    • Profiili
Vs: crontab
« Vastaus #5 : 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.


JakeStyles

  • Käyttäjä
  • Viestejä: 70
  • Cold, So Cold...
    • Profiili
Vs: crontab
« Vastaus #6 : 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).
"Who is General Failure and who is he reading my hard disk?"

jekku

  • Käyttäjä
  • Viestejä: 2378
    • Profiili
Vs: crontab
« Vastaus #7 : 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.

jormala

  • Käyttäjä
  • Viestejä: 11
    • Profiili
Vs: crontab
« Vastaus #8 : 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



odysseus

  • Käyttäjä
  • Viestejä: 367
    • Profiili
Vs: crontab
« Vastaus #9 : 17.03.11 - klo:17.17 »
Pitäisiköhän varmistaa, että cron on ylipäätään käynnissä...

jormala

  • Käyttäjä
  • Viestejä: 11
    • Profiili
Vs: crontab
« Vastaus #10 : 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.