Nowe posty

xx Nie działa mi Team Speak 3 (13)
Wczoraj o 08:56:37
xx Mint czy Knoppix, który lepszy jako system z USB (1)
2020-10-28, 20:24:25
xx Framebuffer 640x5760 => 2560x1400. "pocięcie" pamięci framebuffer (2)
2020-10-26, 22:06:34
xx kontrola dostępu (1)
2020-10-26, 07:47:58
xx Użytkownicy należący do grupy (1)
2020-10-26, 07:44:46
xx Klawiatura nie działa po włączeniu Ubuntu (3)
2020-10-25, 19:23:34
xx Szkielet z getops (3)
2020-10-25, 15:06:20
xx 2 adresy na jednej sieciówce - brak pingu (1)
2020-10-22, 14:09:22
xx Knoppix z polską klawiaturą. Czy tak się da w ogóle? (5)
2020-10-20, 21:31:47
xx DNF autouzupełnianie (0)
2020-10-20, 18:18:23

Autor Wątek: skrypt  (Przeczytany 8604 razy)

Offline patryk pionke

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 6
    • Zobacz profil
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??

Offline guzzi guzzi

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 197
    • Zobacz profil
skrypt
« Odpowiedź #1 dnia: 2005-06-22, 13:20:34 »
crontab

Offline kwazar uran

  • Users
  • Użytkownik
  • **
  • Wiadomości: 99
    • Zobacz profil
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

Offline Marcin Rucinski

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 28
    • Zobacz profil
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\\"

Offline Grzegorz Świtkowski

  • Users
  • Guru
  • *****
  • Wiadomości: 516
    • Zobacz profil
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

Offline Daniel Iwaniuk

  • Users
  • Użytkownik
  • **
  • Wiadomości: 59
    • Zobacz profil
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.

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
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

Offline Wojciech Miłkowski

  • Stały bywalec
  • ***
  • Wiadomości: 206
    • Zobacz profil
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

Offline Daniel Iwaniuk

  • Users
  • Użytkownik
  • **
  • Wiadomości: 59
    • Zobacz profil
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 ??

Offline Marcin Rucinski

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 28
    • Zobacz profil
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)

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
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 :-)

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
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... :-(

Offline Wojciech Miłkowski

  • Stały bywalec
  • ***
  • Wiadomości: 206
    • Zobacz profil
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

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
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 :-)