[cron] Nieuruchamiające się zadania

Tylko tematy nie mieszczące się powyżej.
gelmi
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 28 paź 2008, 21:18
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

[cron] Nieuruchamiające się zadania

Post autor: gelmi »

Witam

Mam napisany skrypt do zmiany tapet w określonym czasie (.tapety.sh):

#!/bin/bash

HOUR=$(date +%H)

case $HOUR in

05|06|07|08|09|10)

/usr/bin/gconftool -t string -s /desktop/gnome/background/picture_filename '/home/gelmi/Obrazy/tapety/rano.jpg'

;;

11|12|13|14|15|16)

/usr/bin/gconftool -t string -s /desktop/gnome/background/picture_filename '/home/gelmi/Obrazy/tapety/dzien.jpg'

;;

17|18|19|20|21)

/usr/bin/gconftool -t string -s /desktop/gnome/background/picture_filename '/home/gelmi/Obrazy/tapety/wieczor.jpg'

;;

*)

/usr/bin/gconftool -t string -s /desktop/gnome/background/picture_filename '/home/gelmi/Obrazy/tapety/noc.jpg'

;;

esac
Dopisałem nawet ścieżki do gconftool, bo wyczytałem że czasami cron musi mieć pełne ścieżki. Skrypt uruchamia się manualnie ok. Problem jest taki, że jeżeli wrzucę go do tablicy crona to nic się nie zmienia. Próbowałem dodawać w różny sposób linijkę do crona (dla początkowych testów uruchamiam co minutę):

* * * * * sh /home/gelmi/Obrazy/tapety/.tapety

lub

* * * * * sh /home/gelmi/Obrazy/tapety/.tapety.sh

lub

* * * * * /home/gelmi/Obrazy/tapety/.tapety.sh
Próbowałem jeszcze dodać ścieżkę /bin/bash do rozkazu, ale dalej nic.
Wpis dodawałem, że tablic crona użytkownika lokalnego, gdzie w pliku .tapety.cron był któryś z listingów wyżej:
crontab /home/gelmi/Obrazy/tapety/.tapety.cron

lub

sudo crontab /home/gelmi/Obrazy/tapety/.tapety.cron
Dalej nic. Poprzez crontab -e próbowałem sam wpisać linijkę, zarówno dla użytkownika zwykłego jak i dla roota. Również próbowałem wpisać do globalnej w /etc/cron.d/ oraz do indywidualnej w /var/spool/cron/crontabs/gelmi. Nic nie działa. Przeglądając tablicę użytkowników crontab -l wpis zawsze jest, zarówno jak wpisywałem dla użytkownika oraz w tablicy roota jak wpisałem dla roota sudo crontab -l.
W dzienniku systemowym pokazuje co minutę że jest uruchamiany CMD. Jak wprowadziłem do użytkownika to uruchamia jako użytkownik, a jak wprowadziłem do tablicy roota to odpala polecenie jako root.
Próbowałem również zamiast pliku sh odpalać co minutę gedita, ale też nie działało.
W syslogu wszystko wydaje się ok, ale nie ma efektów.
Na 8.04 wszystko chodziło ok, a na 8.10 nie do końca :)
Jakieś pomysły?

Dodałem się również do cron.allow:
sudo bash -c 'echo "gelmi" >> /etc/cron.allow'
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [cron] Nie urumiające się zadania

Post autor: el.pescado »

Po pierwsze, sprawdź, czy skrypt możesz wykonać w konsoli - wklej po prostu do terminala polecenie i zobacz czy się uruchomi, bo z podanych wyżej przykładów widać, że nie do końca wiesz jak się nazywa twój skrypt;) Jeżeli się nie uruchomi to: jesęli chcesz uruchomić za pomocą "/ścieżka/do/pliku", upewnij się, że plik może być uruchamiany (prawo do uruchamiania możesz nadać poleceniem:

Kod: Zaznacz cały

chmod a+x /ścieżka/do/pliku
Ewentualnie, możesz skrypt uruchamiać explicite wywołując interpreter poleceń (tu uwaga, napisałeś skrypt w bashu (rozpoczyna się od #!/bin/bash), a potem próbujesz go odpalić za pomocą sh - w ubuntu bash to co innego niż sh - lepiej więc być konsekwentnym):

Kod: Zaznacz cały

bash /ścieżka/do/pliku
Po drugie, sprawdź, czy to polecenie znajduje się w tablicy crona:

Kod: Zaznacz cały

crontab -l
Gedit się nie uruchamiał, gdyż cron nie ma połączenia z serwerem X, więc nie może otwierać okien.
Hagal
Sędziwy Jeż
Sędziwy Jeż
Posty: 41
Rejestracja: 11 sty 2009, 01:35
Płeć: Mężczyzna
Środowisko graficzne: Brak

Odp: [cron] Nie uruchamiające się zadania

Post autor: Hagal »

Spróbuj zmienić w skrypcie wszyskie linie zaczynające się od
/usr/bin/gconftool xxxxxxxx
na
DISPLAY=":0.0" /usr/bin/gconftool xxxxxxxx

Pozdrawiam
gelmi
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 28 paź 2008, 21:18
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: [cron] Nie uruchamiające się zadania

Post autor: gelmi »

Dzięki za odpowiedzi. Skrypt jest uruchamialny (zaznaczyłem to w opcjach), mogę go odpalić poprzez terminal albo Alt+F2. Dodałem tą ścieżkę DISPLAY, ale nie pomogło. Poczytałem też trochę i dodałem zmienne środowiskowe do pliku, ale dalej nic. Po wpisaniu crontab -l pokazuje się listing już z poprawioną komendą wywołania bash i zmieniłem też nazwę pliku na tapety.bash. Ale dalej nic:
USER=gelmi
HOME=/home/gelmi
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/home/gelmi/bin
DISPLAY=:0.0
MAILTO=gelmi
* * * * * bash /home/gelmi/Obrazy/tapety/tapety.bash
Plik tapety.bash
#!/bin/bash

HOUR=$(date +%H)

case $HOUR in

05|06|07|08|09|10)

DISPLAY=":0.0" /usr/bin/gconftool -t string -s /desktop/gnome/background/picture_filename '/home/gelmi/Obrazy/tapety/rano.jpg'

;;

11|12|13|14|15|16)

DISPLAY=":0.0" /usr/bin/gconftool -t string -s /desktop/gnome/background/picture_filename '/home/gelmi/Obrazy/tapety/dzien.jpg'

;;

17|18|19|20|21)

DISPLAY=":0.0" /usr/bin/gconftool -t string -s /desktop/gnome/background/picture_filename '/home/gelmi/Obrazy/tapety/wieczor.jpg'

;;

*)

DISPLAY=":0.0" /usr/bin/gconftool -t string -s /desktop/gnome/background/picture_filename '/home/gelmi/Obrazy/tapety/noc.jpg'

;;

esac
Ew czym innym mógłbym uruchamiać skrypty o danym czasie?
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [cron] Nie uruchamiające się zadania

Post autor: el.pescado »

Możesz dopisać w skrypcie coś w stylu

Kod: Zaznacz cały

echo "uruchamiam skrypt, godzina $HOUR" >> /home/gelmi/tapety.log
i potem sprawdzić co znajduje się w pliku tapety.log

ewentualnie na koniec polecenia gconftool dopisać:

Kod: Zaznacz cały

 2>> /home/gelmi/tapety.log
(gconftool chyba nie potrzebuje zmiennej DISPLAY)
gelmi
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 28 paź 2008, 21:18
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: [cron] Nie uruchamiające się zadania

Post autor: gelmi »

Wyrzuciłem zawartość skryptu i dodałem tylko tą linijkę echo. Plik się nie tworzy. Wydaje mi się, że jest coś nie tak z cronem w 8.10. Na 8.04 Wszystko śmigało z tymi samymi plikami i konfiguracją. Zauważyłem, że na forach pojawia się dużo wątków, że skrypty nie chcą się uruchamiać pod 8.10 przez crona. Jak na razie, to poradziłem sobie wrzucając cały skrypt w pętlę ze sleepem 10m. Dzięki serdeczne za porady. Pozdrawiam.
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [cron] Nie uruchamiające się zadania

Post autor: el.pescado »

Dziwne... u mnie działa:

Kod: Zaznacz cały

przemek@habazie:~/tmp$ cat ./skrypt.sh
#!/bin/sh

date >> /home/przemek/tmp/skrypt.log

przemek@habazie:~/tmp$ crontab -l
# m h  dom mon dow   command

* * * * * /home/przemek/tmp/skrypt.sh

przemek@habazie:~/tmp$ cat ./skrypt.log 
nie, 1 lut 2009, 18:45:28 CET
Sun Feb  1 18:47:01 CET 2009
Sun Feb  1 18:48:01 CET 2009
Sun Feb  1 18:49:01 CET 2009
Sun Feb  1 18:50:01 CET 2009
Sun Feb  1 18:51:01 CET 2009
Sun Feb  1 18:52:01 CET 2009
Sun Feb  1 18:53:01 CET 2009
Sun Feb  1 18:54:01 CET 2009
Awatar użytkownika
dk75
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1142
Rejestracja: 07 mar 2007, 22:59
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: [cron] Nie uruchamiające się zadania

Post autor: dk75 »

Ja tam też nie mam problemów z CRONTAB.

A do zmiany tapetek polecam Wallpapoz
Linux Mint Debian Edition x86_64/2.6.39, Conky 1.8.0, Xorg 7.6/1.10.4 - GNOME 2.30.2, nVidia 285.03
Lenovo T61p, HITACHI HTS722010K9SA00 100GB, ST9250827AS 250GB
http://linuxcounter.net/user/483055.html
Bonzaii
Piegowaty Guziec
Piegowaty Guziec
Posty: 25
Rejestracja: 06 paź 2006, 21:50
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Odp: [cron] Nie uruchamiające się zadania

Post autor: Bonzaii »

Witam. Dołączę się do tematu, bo się identyfikuje z moim problemem (temat).

Odnoszę wrażenie, że u mnie crontab nie jest w ogóle respektowany. Ani z poziomu roota, ani z poziomu zwyklego usera.

Dodałem 2 polecenia z poziomu roota (sudo crontab -e) - edytor mcedit:

Kod: Zaznacz cały

* * * * * echo " test " >> /home/mycron.log
* * * * * bash echo " test " >> /home/mycron.log
Niestety plik nie powstaje. Co robię źle? Dodam, że cron jest włączony (sprawdzałem za pomocą polecenia: sudo ps -x | grep cron )

@edit:
[solved]
Pomogło usunięcie anacron , którego wcześniej bałem się usunąć, ze względu na to, że chciał przy okazji usunąć ubuntu-desktop
Bez sensu. Dlaczego można robić tylko takie krótkie podpisy?
Awatar użytkownika
Szmitas
Zakręcona Traszka
Zakręcona Traszka
Posty: 572
Rejestracja: 28 lis 2006, 17:38
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Unity
Architektura: x86
Lokalizacja: Luboń
Kontakt:

Odp: [cron] Nie uruchamiające się zadania

Post autor: Szmitas »

Odświeżę trochę temat.

Polecenia dla crona zapisane w /etc/cron.d/crontab uruchamiają się bez problemu - dla roota i zwykłego użytkownika.
Jednak polecenia w pliku /var/spool/cron/crontabs/szmitas nie... mimo iż polecenie crontab -l pokazuje, że jest zadanie do wykonania.

Użytkownik jest dodany w pliku /etc/cron.allow

Jakiś pomysł?
www.ubuntu-pomoc.org - tutaj znajdziesz rozwiązanie każdego Twojego problemu.

Chcesz zostać Redaktorem ubuntu-pomoc.org? Skontaktuj się ze mną!
17piotrek

Odp: [cron] Nie uruchamiające się zadania

Post autor: 17piotrek »

A może zapomniales o prawach do uruchomienia? Czasem sie zdaza zapomniec.
Awatar użytkownika
Szmitas
Zakręcona Traszka
Zakręcona Traszka
Posty: 572
Rejestracja: 28 lis 2006, 17:38
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Unity
Architektura: x86
Lokalizacja: Luboń
Kontakt:

Odp: [cron] Nie uruchamiające się zadania

Post autor: Szmitas »

O prawach do uruchomienia... ale czego?

Wpis w cronie opiera się jedynie na wpisaniu tekstu do pliku, więc żadnych praw do uruchomienia nie trzeba.
www.ubuntu-pomoc.org - tutaj znajdziesz rozwiązanie każdego Twojego problemu.

Chcesz zostać Redaktorem ubuntu-pomoc.org? Skontaktuj się ze mną!
17piotrek

Odp: [cron] Nie uruchamiające się zadania

Post autor: 17piotrek »

Spróbuj może zapisać to w jakimś mini skrypciku i ustawić w cronie uruchamianie tego skryptu.
Awatar użytkownika
Szmitas
Zakręcona Traszka
Zakręcona Traszka
Posty: 572
Rejestracja: 28 lis 2006, 17:38
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Unity
Architektura: x86
Lokalizacja: Luboń
Kontakt:

Odp: [cron] Nieuruchamiające się zadania

Post autor: Szmitas »

Nadal to samo.
W sumie to już przyzwyczaiłem się do edycji głównego pliku (i ścieżka do niego jest krótsza - łatwiejsza do zapamiętania), więc pozostanę przy tym, skoro nie chce działać.
www.ubuntu-pomoc.org - tutaj znajdziesz rozwiązanie każdego Twojego problemu.

Chcesz zostać Redaktorem ubuntu-pomoc.org? Skontaktuj się ze mną!
ODPOWIEDZ

Wróć do „Inne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości