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  2009-05-11 23:23:10

  fetoor - Nowy użytkownik

fetoor
Nowy użytkownik
Zarejestrowany: 2009-05-11

Kadu i Cron

witam wszystkich bardzo serdecznie.
Mam małe pytanie.
Mam zainstalowane Kadu, niestety jednak przypuszczam że podczas restartu serwerów gg Kadu traci kontakt ze światem zewnętrzym i nie potrafi się połączyć.
Jest to trochę denerwujące. Postanowiłem wiec napisać prościutki skrypcik, który będzie co jakiś czas restartował kadu (zwłaszcza rano) i chciałem żeby go uruchamiał cron.
Cron rzeczywiście go uruchamia jednak wyłącza Kadu i go ponownie nie uruchamia. Próbowałem, celem testu, uruchomić kadu prosto z Crona jednak odkryłem, że Cron nie uruchamia kadu nawet jak mu podam pełną ścieżkę.
Tutaj jest skrypcik:

Kod:

numer=$( ps -A | grep "kadu" | cut -c -5 )
if [ $numer ]; then
    kill $numer 
       /usr/bin/kadu
 else 
        /usr/bin/kadu
fi

Czy ktoś wie gdzie leży przysłowiowy pies ;)

Dodam jeszcze, że skrypt uruchomiony "z ręki" działa ok.

Ostatnio edytowany przez fetoor (2009-05-11 23:35:13)

Offline

 

#2  2009-05-12 00:04:51

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Kadu i Cron

Zmienna $DISPLAY?

Poza tym cron powinien wysyłać maila z przyczynami niepowodzenia jeżeli nie uda mu się wykonać jakiegoś zadania. Warto sprawdzić, bo powinien sam powiedzieć co go boli.

Offline

 

#3  2009-05-12 00:23:24

  fetoor - Nowy użytkownik

fetoor
Nowy użytkownik
Zarejestrowany: 2009-05-11

Re: Kadu i Cron

Właśnie wpadłem na pomysł zmiennej env DISPLAY=:0 zadziałało i zajrzałem tu żeby uzupełnić wpis.
Tak rzadko używam crona że zapomniałem
Wstyd
Dzięki za zainteresowanie
A co do wyjścia błędu to oczywiście dorobię.

BTW
bedę robił skrypcik instalacyjny dla kolegi, który stworzy mu skrypt właściwy i dopisze wywołanie do tabeli crona. Do której tabeli crona najlepiej to dopisać. Bo chcę umieścić to w /var/spool/cron/zmienna$USER. Myślisz, że może tam być czy lepiej w /etc/crontab

edit_____________

Sam sobie odpowiedziałem ;)
Nie może być var/spool/cron/zmienna$USER, bo skrypt jest uruchamiany przy użyciu su lub sudo więc zmienna $USER zwróci nie tego użytkownika tylko root'a. Rozwiązałem to w ten sposób:

Kod:

user=$( env | grep "^PWD" | cut -d / -f 3 ) 
if [ -e /var/spool/cron/crontabs/$user ]; then
    echo "00 2,4,6,9,13,19,23 * * *    env DISPLAY=:0 /usr/bin/./gg_boost.sh" >> /var/spool/cron/crontabs/$user
.
.
.

Oczywiście zakładam że ktoś pracuje w podkatalogach katalogu domowego
pewnie jest jakiś dużo prostszy sposób (np. $PWD | cut -d / -f 2 ) ale najważniejsze, że ten również działa.

Ostatnio edytowany przez fetoor (2009-05-12 19:22:48)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)