Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: skrypt  (Przeczytany 8946 razy)

lulu

  • Gość
skrypt
« dnia: 2005-06-22, 12:45:51 »
mam pytanie chce kilka razy w ciagu dnia(4 razu na dobe) o scisle okreslonej godzinie odpalac pewien skrypt z zmiennym(zaleznym od godzny) parametrem jak to najprosciej zrobic??

guzzi1

  • Gość
skrypt
« Odpowiedź #1 dnia: 2005-06-22, 13:20:34 »
crontab

kwazar

  • Gość
skrypt
« Odpowiedź #2 dnia: 2005-06-22, 16:18:16 »
Cron jest prosty, łatwy i przyjemny. Cron jest demonem zegarowym, który steruje wszystkimi funkcjami, które mają się włączać o pewnych godzinach, dniach itp
Crona konfiguruje się w pliku /etc/crontab

Oto wzór:

min godz data mies dzien uzytkownik /katalog/polecenie

Jeżeli dajemy gdzieś * to oznacza oczywiście \\"każdy\\". Jeżeli w polu minuta wpiszemy 0-30 to przez 30 min z częstotliwością co minute to zdarzenie będzie się nam uruchamiać, możemy jeszcze wpisać 0,30 co oznacza o każdej pełnej i 30 min. po pełnej godzinie. Można jeszcze zrobić zapis 0-59/30 co oznacza, że o pełnej godzinie i co 30 min zdarzenie będzie wykonywane. Ma to jednak szczególnie zastosowanie gdy zdarzenia mają być uruchamiane częsciej... np. co 4 min, co wygląda następująco 0-59/4

A teraz kilka przykładów
Standardowo w crontab wpisane są pory uruchamiające katalogi w których zawarte polecenia muszą być uruchamiane co jakiś czas:
co godzine (1 minutę po pełnej godzinie)
01 * * * * root run-parts /etc/cron.hourly
codziennie (5 minut po północy)
05 0 * * * root run-parts /etc/cron.daily
co tydzień w niedziele po 10 min po pólnocy
10 0 * * 0 root run-parts /etc/cron.weekly
raz w miesiącu każdego 1 dnia o północy
00 0 1 * * root run-parts /etc/cron.monthly
inne przykłady:
Uzytkownik root co 3h uruchamia webalizer
00 00,03,06,09,12,15,18,21 * * * root /usr/bin/webalizer
to samo zapisane w inny sposób
00 00-23/3 * * * root /usr/bin/webalizer
Zawsze możemy się za pomocą crona nad kims po pastwić, np. wysyłać co 1 min. SMSy i tak użytkownik tcz wysyła sms\\'a numerowi 48601999999 pot tytułem \\"Czesc jednokomórkowcu\\" przeważnie widac tylko tytul tresc niewiem czemu nie jest widoczna

* * * * * tcz tresc | mail 48601999999@text.plusgsm.pl -s \\'Czesc jednokomórkowcu\\'

Wysyłane na maila użytkownika root komunikaty są wstanie zwalić z nóg... aby temu zapobiec należy na końcu linii dodać &>/dev/null co pozwala uniknąć tej niedogodności, np.:
00 00,03,06,09,12,15,18,21 * * * root /usr/bin/webalizer &>/dev/null

mauser

  • Gość
skrypt
« Odpowiedź #3 dnia: 2005-06-22, 21:56:29 »
jak juz wszyscy doradzili crontab jest najciekawszym rozwiązaniem - do tego zostal stworzony, ewentualnie mozesz sobie jeszcze poczytac o komendzie \\"at\\"

xavery

  • Gość
skrypt
« Odpowiedź #4 dnia: 2005-06-23, 08:58:07 »
> użytkownik tcz wysyła sms\\'a numerowi 48601999999 pot tytułem \\"Czesc jednokomórkowcu\\"
 > przeważnie widac tylko tytul tresc niewiem czemu nie jest widoczna
 >
 > * * * * * tcz tresc | mail 48601999999@text.plusgsm.pl -s \\'Czesc jednokomórkowcu\\'

A czy plik tresc jest plikiem wykonywalnym, wypisyjacym na stdout rzeczywista tresc? Podejrzewam, ze nie. Dlatego tez uzyj cat tresc | mail ....... ewentualnie mail  \\"mniejsze_od\\" tresc

d3ivo

  • Gość
skrypt
« Odpowiedź #5 dnia: 2005-06-22, 00:13:00 »
Witam

Mam pytanie, czy komputer w jakis inny sposob reaguje gdy zmienia on zasilanie z normalnego z gniazdka na awaryjnie  zasilanie z upsa? NIe posiadam osobiscie wiec nie mam jak tego sprawdzic, dokladnie chodzi mi o napisanie skryptu ktory by to informowa po przez maila np. administratora  o tym ze serwer zmienil zasilanie na zasilanie z upsa (dozucajac skrypt do crona i sprawdzajac co 1 minute jakie jest zasilanie)

2.Wiem ze to nie ten dzial ale nie chcem zasmiecac forum wiec do rzeczy,  czy da sie bezposrednio spod linuxa sprawdzic temperature procesora, jesli tak to w jaki sposob?

Z gory dziekuje za odpowiedz.

chmooreck

  • Gość
skrypt
« Odpowiedź #6 dnia: 2005-06-22, 01:40:25 »
ad. 1 na pewno w jakis sopsob da sie to sprawdzic... (oczywiscie jesli ups jest podlaczony do kompa ;-) ) ale nie mam upsa, wiec dokladnie ci nie powiem

ad. 2 lm_sensors

wojtekm

  • Gość
skrypt
« Odpowiedź #7 dnia: 2005-06-22, 03:02:14 »
2005-06-22 01:40:25 chmooreck napisał:
 
 > ad. 2 lm_sensors

A jeszcze prościej, jak masz wkompilowane ACPI to
cat /proc/acpi/thermal_zone/THRM/temperature

:)
Wojtek

d3ivo

  • Gość
skrypt
« Odpowiedź #8 dnia: 2005-06-22, 03:31:25 »
ok zabralem sie za instalacje lm_sensors podczas wykonywania polecenia  make user  wywalo taki mi oto blad

gg -Wl, -rpath,/usr/lib -o prog/sensors/sensors prog/sensors/main.ro prog/sensors/chips.ro -Llib -lsensors
prog/sensors/main.ro(.text+0x57b): In function `main':
: undefinded referance to `libiconv_open'
prog/sensors/main.ro(.text+0x5be): In function `main':
: undefinded referance to `libiconv'
prog/sensors/main.ro(.text+0x5c8): In function `main':
: undefinded referance to `libiconv_close'
collect2: ld returned 1 exit status
make: *** [prog/sensors/sensors] Blad 1


przypuszczalem ze to jest brak bibloteki libconv wiec ja zainstalowalem, mimo to problem jest nadal.
Czy ktos wie w czym tkwi blad ??

mauser

  • Gość
skrypt
« Odpowiedź #9 dnia: 2005-06-22, 22:08:15 »
jesli jest to jakis porzadny UPS to najprawdopodobniej posiada on port RS232 alo USB do komunikacji z systemem. Instalujesz demona apcupsd (w przypadku UPSow firmy APC), symlinkujesz /dev/ups na odpowiedni port i powinno zadzialac.

(testowane na APC poprzez port ttyS?, z innymi nie pracowalem wiec nie szukalem)

chmooreck

  • Gość
skrypt
« Odpowiedź #10 dnia: 2005-06-23, 01:17:30 »
2005-06-22 03:02:14 wojtekm napisał:

 > A jeszcze prościej, jak masz wkompilowane ACPI to
 > cat /proc/acpi/thermal_zone/THRM/temperature

rozumiem, ze to jest temperatura zczytywana z diody w procu? tak ?

dzieki :-)

chmooreck

  • Gość
skrypt
« Odpowiedź #11 dnia: 2005-06-23, 01:34:34 »
2005-06-23 01:17:30 chmooreck napisał:

> 2005-06-22 03:02:14 wojtekm napisał:
 >
 >  > A jeszcze prościej, jak masz wkompilowane ACPI to
 >  > cat /proc/acpi/thermal_zone/THRM/temperature
 >
 > rozumiem, ze to jest temperatura zczytywana z diody w procu? tak ?
 >
 > dzieki :-)

no niestety.. u mnie nie dziala - caly czas mam 40 C... :-(

wojtekm

  • Gość
skrypt
« Odpowiedź #12 dnia: 2005-06-23, 13:51:14 »
2005-06-23 01:34:34 chmooreck napisał:

 >  > rozumiem, ze to jest temperatura zczytywana z diody w procu? tak ?
 >  >
 >  > dzieki :-)
 >
 > no niestety.. u mnie nie dziala - caly czas mam 40 C... :-(

To dziwne, bo u mnie działa jak należy. Masz skompilowaną opcję Thermal Zone w ACPI->Processor?

Wojtek

chmooreck

  • Gość
skrypt
« Odpowiedź #13 dnia: 2005-06-23, 20:41:59 »
 > To dziwne, bo u mnie działa jak należy. Masz skompilowaną opcję Thermal Zone w
 > ACPI->Processor?

mam wkompilowane... jadro 2.6.12 :-)
nForce3 Ultra, amd64 winchester...
plyta glowna Shuttle fn95 v2.0 (barbone sn95g5)

ACPI w biosie zalaczone

trudno.. na razie wracam do lm_sensors ;-)
chociaz dobrze by bylo to odpalic - moze jak znajde troche czasu to poszukam po necie... w kazdym razie dzieki za wskazowke, ze cos takiego jest :-)