Obsługa harmonogramu zadań
- SlawekPetrelli
- Piegowaty Guziec
- Posty: 11
- Rejestracja: 18 gru 2010, 10:20
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.10
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Obsługa harmonogramu zadań
Witam, dopiero się uczę i wiem że istnieje taka możliwość aby zapanowywać zadania i wiem że są polecenia at i crontab ale nie wiem jak ich używać czy mógł mi ktoś opisać?
I podać przykłady np aby za 2 minuty wykonało polecenie "date" i w przypadku crontab aby co 2 minuty wykonywało te same polecenie. Również proszę o odpowiedź jak skończyć dane polecenie( tzn aby harmonogram nie wykonywał danej operacji).
Dziękuje za pomoc
I podać przykłady np aby za 2 minuty wykonało polecenie "date" i w przypadku crontab aby co 2 minuty wykonywało te same polecenie. Również proszę o odpowiedź jak skończyć dane polecenie( tzn aby harmonogram nie wykonywał danej operacji).
Dziękuje za pomoc
Just Linux
- Pan Świnka
- Serdeczny Borsuk
- Posty: 122
- Rejestracja: 17 lis 2010, 11:01
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: GNOME
- Architektura: x86_64
Odp: Obsługa harmonogramu zadań
wpisz crontab w google a link z wikipedii prawde ci powie
tak samo dla ata,
generalnie te polecenia są mega proste i domyślne
można wiedziec po co ci uruchamiac cos co dwie minuty albo za dwie minuty ?
tak samo dla ata,
generalnie te polecenia są mega proste i domyślne
można wiedziec po co ci uruchamiac cos co dwie minuty albo za dwie minuty ?
poszukajcie odpowiedzi w /dev/null 

- dk75
- 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: Obsługa harmonogramu zadań
opisy i man opisami ale jak przyjdzie co do czego szczegóły zabijają
Po pierwsze nie zadziała ci nic co wypisuje swoje wyniki do terminala gdyż... uruchamia się to bez terminala więc nic nie zobaczysz.
Więc albo to ma uruchomić jakiś program który sobie działa w tle i nie musisz go widzieć albo uruchamiasz to w screen i wtedy możesz się połączyć z sesją screen później i zobaczyć jak twój program/skrypt działa (ale musi ciągle działać) albo przekierowujesz wyniki do pliku i później oglądasz plik albo wyświetlasz powiadomienia w XWindows.
Uf, ale długie zdanie.
Drugi największy problem to ścieżki do plików wykonywalnych.
O ile w CRONTAB można to sobie dopisać do pliku konfiguracji i to zostaje to w AT musisz to dopisywać albo do każdego zadania albo podawać ścieżki pełne do komend.
Podobno AT przejmuje zmienną PATH ze środowiska w którym się go uruchamia ale mi to sprawiało problemy.
Kolejny drobny problem, tym razem z CRONTAB jest taki, że plik konfiguracyjny musi mieć pustą linię na końcu gdyż inaczej nie wykona się nic.
Problem z AT jest taki, że gdy nie podajesz skryptu do wykonania tylko komendy to musisz otworzyć edytor a potem aby z niego wyjść i zapisać zadanie trzeba wcisnąć <CTRL>D - też trochę się tego naszukałem.
Kolejny problem, z CRONTAB jest taki, że jak coś chcesz zrobić co np. miesiąc to musisz ustawić również wszystkie inne zmienne bo inaczej będzie się to robiło tego dnia co 1 minutę przez cały dzień - można się nieźle wkąpać.
Kolejny problem z AT jest taki, że nie przejmuje zmiennej DISPLAY od systemu więc trzeba mu ją podać aby wyświetlić cokolwiek w XWindows (np. zenity)
A teraz przykłady.
AT (robi zadania jednorazowe) - za 2 minuty
otworzy to edytor zadania gdzie wpisujesz
i naciskasz <CTRL>D
Jeśli masz skrypt shell który chcesz uruchomić to
za 3 dni o godzinie 12:00
CRONTAB (robi zadania w określonym czasie do ich wykasowania)
zadania dla twojego użytkownika - nie zrobisz nic co potrzebuje uprawnień administratora
pokaże się edytor z plikiem konfiguracji - dopisujesz na końcu
Jak chcesz zadania z uprawnieniami ROOT to uruchamiasz edycję z SUDO
Po pierwsze nie zadziała ci nic co wypisuje swoje wyniki do terminala gdyż... uruchamia się to bez terminala więc nic nie zobaczysz.
Więc albo to ma uruchomić jakiś program który sobie działa w tle i nie musisz go widzieć albo uruchamiasz to w screen i wtedy możesz się połączyć z sesją screen później i zobaczyć jak twój program/skrypt działa (ale musi ciągle działać) albo przekierowujesz wyniki do pliku i później oglądasz plik albo wyświetlasz powiadomienia w XWindows.
Uf, ale długie zdanie.
Drugi największy problem to ścieżki do plików wykonywalnych.
O ile w CRONTAB można to sobie dopisać do pliku konfiguracji i to zostaje to w AT musisz to dopisywać albo do każdego zadania albo podawać ścieżki pełne do komend.
Podobno AT przejmuje zmienną PATH ze środowiska w którym się go uruchamia ale mi to sprawiało problemy.
Kolejny drobny problem, tym razem z CRONTAB jest taki, że plik konfiguracyjny musi mieć pustą linię na końcu gdyż inaczej nie wykona się nic.
Problem z AT jest taki, że gdy nie podajesz skryptu do wykonania tylko komendy to musisz otworzyć edytor a potem aby z niego wyjść i zapisać zadanie trzeba wcisnąć <CTRL>D - też trochę się tego naszukałem.
Kolejny problem, z CRONTAB jest taki, że jak coś chcesz zrobić co np. miesiąc to musisz ustawić również wszystkie inne zmienne bo inaczej będzie się to robiło tego dnia co 1 minutę przez cały dzień - można się nieźle wkąpać.
Kolejny problem z AT jest taki, że nie przejmuje zmiennej DISPLAY od systemu więc trzeba mu ją podać aby wyświetlić cokolwiek w XWindows (np. zenity)
A teraz przykłady.
AT (robi zadania jednorazowe) - za 2 minuty
Kod: Zaznacz cały
at now + 2 minute
Kod: Zaznacz cały
env DISPLAY=":0.0" /usr/bin/zenity --info --text="$(/bin/date)"
Jeśli masz skrypt shell który chcesz uruchomić to
Kod: Zaznacz cały
at now + 2 minute -f /pełna/ścieżka/nazwa-skryptu.sh
Kod: Zaznacz cały
at 12:00 + 3 day -f /pełna/ścieżka/nazwa-skryptu.sh
CRONTAB (robi zadania w określonym czasie do ich wykasowania)
Kod: Zaznacz cały
crontab -e
pokaże się edytor z plikiem konfiguracji - dopisujesz na końcu
Kod: Zaznacz cały
*/2 * * * * /usr/bin/zenity --info --text="$(/bin/date)" #co dwie minuty
0 12 * * * /pełna/ścieżka/nazwa-skryptu.sh #codziennie w południe
0 12 */3 1 * /pełna/ścieżka/nazwa-skryptu.sh #w styczniu, co 3 dni w południe
@monthly /pełna/ścieżka/nazwa-skryptu.sh #raz w miesiącu
0 */1 * * 7 /pełna/ścieżka/nazwa-skryptu.sh #w każdą niedzielę o pełnej godzinie
Jak chcesz zadania z uprawnieniami ROOT to uruchamiasz edycję z SUDO
Kod: Zaznacz cały
sudo at now + 2 minute
Kod: Zaznacz cały
sudo crontab -e
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
Lenovo T61p, HITACHI HTS722010K9SA00 100GB, ST9250827AS 250GB
http://linuxcounter.net/user/483055.html
- SlawekPetrelli
- Piegowaty Guziec
- Posty: 11
- Rejestracja: 18 gru 2010, 10:20
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.10
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
- kastyk
- Sędziwy Jeż
- Posty: 42
- Rejestracja: 20 mar 2008, 14:09
- Płeć: Mężczyzna
- Wersja Ubuntu: 8.04
- Środowisko graficzne: Brak
- Architektura: x86
Odp: Obsługa harmonogramu zadań
Mój problem również dotyczy (chyba) crona, podłączę się więc tutaj.
Chodzi mi o uruchamianie programów użytkownika przy starcie systemu. Wiem, że wystarczy odpowiedni wpis do mego crontaba. Używając polecenia
jako zwykły użytkownik dodałem tam taki wpis:
Zawartość mego skryptu (ma on oczywiście prawa do wykonywania - 744)
Moje zakomentowane wpisy w crontabie to próby uruchamiania tych programów bez skryptu, prosto z crontaba; oba programy się uruchamiały. Po co więc skrypt?
Problem leży w kodowaniu znaków w irssi. Uruchamiany z kolsoli, ma poprawne, ustawione w konfiguracji kodowanie UTF-8. Po uruchomieniu z crontaba przy starcie systemu, zarówno za pomocą skryptu, jak i bezpośrednio, przy wpisywaniu polskich znaków widzę znaki zapytania.
Przez użycie polecenia "sleep" próbowałem opóźnić uruchamianie programów, myśląc że uruchamiały się zbyt wcześnie, przed ustawieniem locales systemu. Jak widać, nie pomogło.
Proszę o pomoc.
Chodzi mi o uruchamianie programów użytkownika przy starcie systemu. Wiem, że wystarczy odpowiedni wpis do mego crontaba. Używając polecenia
Kod: Zaznacz cały
crontab -e
Kod: Zaznacz cały
sentex@optiplex:~$ crontab -l
# m h dom mon dow command
# @reboot /usr/bin/screen -d -m rtorrent
# @reboot /usr/bin/screen -d -m irssi
@reboot /home/sentex/on_boot.sh
Kod: Zaznacz cały
sentex@optiplex:~$ cat /home/sentex/on_boot.sh
#!/bin/bash
sleep 5s && screen -d -m -S irssi irssi
sleep 10s && screen -d -m -S rtorrent rtorrent
Problem leży w kodowaniu znaków w irssi. Uruchamiany z kolsoli, ma poprawne, ustawione w konfiguracji kodowanie UTF-8. Po uruchomieniu z crontaba przy starcie systemu, zarówno za pomocą skryptu, jak i bezpośrednio, przy wpisywaniu polskich znaków widzę znaki zapytania.
Przez użycie polecenia "sleep" próbowałem opóźnić uruchamianie programów, myśląc że uruchamiały się zbyt wcześnie, przed ustawieniem locales systemu. Jak widać, nie pomogło.
Proszę o pomoc.
Janusz Kastyk
Dodaj [SOLVED] do *tematu* wiadomości, gdy twój problem zostanie rozwiązany. To naprawdę pomaga innym!
Dodaj [SOLVED] do *tematu* wiadomości, gdy twój problem zostanie rozwiązany. To naprawdę pomaga innym!
- jacekalex
- Gibki Gibbon
- Posty: 4707
- Rejestracja: 17 cze 2007, 02:54
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: MATE
- Architektura: x86_64
Odp: Obsługa harmonogramu zadań
A ja mam jedno pytanie:
Znacie jakiś program do atd/cron - w gtk/qt - do klikania, skuteczniejszy od apletu gnome-schedule?
Bo ten ostatni jest teoretycznie fajny, ale nigdy nie zauważyłem, żeby był znacząco skuteczny
Natomiast tłumaczyć rodzince - co to webmin/usermin ...., i jak to obsługiwać....
Pozdrawiam

Znacie jakiś program do atd/cron - w gtk/qt - do klikania, skuteczniejszy od apletu gnome-schedule?
Bo ten ostatni jest teoretycznie fajny, ale nigdy nie zauważyłem, żeby był znacząco skuteczny

Natomiast tłumaczyć rodzince - co to webmin/usermin ...., i jak to obsługiwać....
Pozdrawiam

Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux

- kastyk
- Sędziwy Jeż
- Posty: 42
- Rejestracja: 20 mar 2008, 14:09
- Płeć: Mężczyzna
- Wersja Ubuntu: 8.04
- Środowisko graficzne: Brak
- Architektura: x86
Odp: Obsługa harmonogramu zadań
Odpowiem sam sobie, bo mam już rozwiązanie problemukastyk pisze:(...)Problem leży w kodowaniu znaków w irssi. Uruchamiany z kolsoli, ma poprawne, ustawione w konfiguracji kodowanie UTF-8. Po uruchomieniu z crontaba przy starcie systemu, zarówno za pomocą skryptu, jak i bezpośrednio, przy wpisywaniu polskich znaków widzę znaki zapytania.(...)

Wystarczyło dodać do pliku /etc/environment definicję języka. Obecnie zawartość pliku to:
Kod: Zaznacz cały
sentex@optiplex:~$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG=pl_PL.UTF-8

Janusz Kastyk
Dodaj [SOLVED] do *tematu* wiadomości, gdy twój problem zostanie rozwiązany. To naprawdę pomaga innym!
Dodaj [SOLVED] do *tematu* wiadomości, gdy twój problem zostanie rozwiązany. To naprawdę pomaga innym!
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 20 gości