Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-12-26 02:10:57

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Jak skonfigurować cron'a?

Witam wszystkich.

Problem polega na tym że cron dość "dziwnie" się zachowuje i za czorta nie działa tak jak bym tego oczekiwał... mianowicie:

Chcę aby wywoływane było polecenie "wineserver -k" na koncie root'a.

Kiedy do /etc/crontab dopiszę:

Kod:

* * * * *            james        wineserver -k

to polecenie działa - winecfg (uruchomiony na koncie "james") zostaje zamknięty po upływie minuty, jednakże kiedy TO SAMO polecenie każę wykonać jako root (czyli wygląd jak wyżej z tym że zamiast "james" jest "root") to nic się nie dzieje (znaczy się - kiedy uruchomię winecfg na koncie roota - polecenie to już go nie zamknie...), z kolei jeżeli takie polecenie wpiszę za pomocą komendy crontab -u james -e to nie zadziała wcale (czyli winecfg nie zostanie zamknięty kiedy będzie włączony na moim koncie, oczywiście z kontem root'a tez próbowałem)...

Ponadto - czy ktoś może mi wyjaśnić czemu cron nie chce odpalać niektórych programów? Przykładowo kiedy wpiszę do /etc/crontab cos takiego:

Kod:

* * * * *           james        /usr/bin/xterm

to po minucie... nic się nie stanie, a chyba powinno mi się ukazać okno terminalu prawda?

W kwestii cron'a jestem zielony - więc proszę o wyrozumiałość. Oto pliki /etc/crontab oraz crontaby z /var/spool/cron/crontabs/ dla james i root:

/etc/crontabs:

Kod:

# 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 )
# This file was written by KCron. Copyright (c) 1999, Gary Meyer
# Although KCron supports most crontab formats, use care when editing.
# Note: Lines beginning with "#\" indicates a disabled task.
* * * * *    james     wineserver -k
# powyższe działa jeżeli uruchomię winecfg jako james
* * * * *    root     wineserver -k
# a to z kolei nie działa (a powinno zabić winecfg uruchomione na koncie root'a)

/var/spool/cron/crontabs/james:

Kod:

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.KvMPHl/crontab installed on Wed Dec 26 01:48:23 2007)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
* * * * *     wineserver -k
# powyższe nie działa - a powinno zabić winecfg uruchomione na moim koncie - jak to jest ze to samo polecenie 
# wpisane w dwa rożne miejsca daje tak odmienne rezultaty?

/var/spool/cron/crontabs/root:

Kod:

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.XpFn2m/crontab installed on Wed Dec 26 01:47:38 2007)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
* * * * *     wineserver -k
# jak wyżej - nie działa :(

Co robię nie tak? Z góry dzięki za wszelkie informacje.

Ostatnio edytowany przez Huk (2007-12-26 02:12:16)

Offline

 

#2  2007-12-26 09:59:20

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: Jak skonfigurować cron'a?

Środowisko, w którym uruchamiają się polecenia crontaba jest prawie pozbawione zmiennych, więc trzeba się postarać aby ustawić te zmienne w skrypcie lub  w /etc/security/pam_env.conf. Np. xterm nie znajduje zmiennej DISPLAY.
Poza tym zwróć uwagę, że w /etc/crontab jest zdefiniowana zmienna PATH, w crontabie roota brak tej zmiennej.


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#3  2007-12-27 00:56:19

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: Jak skonfigurować cron'a?

Heh - dzięki za odpowiedź... tylko, jak już powiedziałem - w sprawie cron'a jestem zielony, również w sprawie ustawień środowiska - co najwyżej od czasu do czasu ustawiałem coś ręcznie za pomocą "export".

Zrobiłem mały skrypt:

Kod:

#!/bin/sh

DISPLAY=":0.0"

wineserver -k
echo "dziala" >> /home/james/dziala.txt

Ale - jak to było do przewidzenia :( - nie działa (znaczy - działa kiedy uruchamiam go ręcznie, ale już przez cron'a nie), co gorsza dzisiaj przestała działać komenda wineserver -k, ustawiana bezpośrednio w /etc/crontab - wczoraj działała chociaż dla zwykłego usera, dzisiaj wcale. Być może istnieje jakiś poostrzy, program ala cron - który umożliwiałby również wykonywanie programów w określonym czasie?? A może da się jakoś zmusić crona aby korzystał ze standardowych zmiennych systemu?

Offline

 

#4  2007-12-27 01:28:09

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Jak skonfigurować cron'a?

to z DISPLAY bylo dla xterma ktory musi wiedziec gdzie odpalic okienko ... dla wineserver podaj pelna sciezke do programu ... ale to tez raczej nie wystarczy - jest tez zmienna WINEPREFIX ktora jest wykozystywana do ustalenia jaki wineserwer ma byc zabity


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)