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  2018-08-19 00:39:11

  Kamil2685 - Użytkownik

Kamil2685
Użytkownik
Zarejestrowany: 2011-04-06

Zadanie cron co x sekund

Witam
Proszę o pomoc mam skrypt Shell i chce go uruchomić w gronie co pół minuty.
Szukałem w internetach ale rozwiązanie z pętla się nie sprawdza gdyż proces ewidentnie odpala się wtedy za dużo razy
Ktoś posiada jakies sprawdzone sposoby ?
Pozdrawiam i dziękuję za opdowiedzi

Offline

 

#2  2018-08-19 01:21:49

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Zadanie cron co x sekund

Można uruchomiać co minute dwa zadania w którym jedno będzie sztucznie wytracało czas tak żeby w efekcie ostateczny skrypt uruchamiał się co pół minuty:

Kod:

* * * * * root ~/script.sh
* * * * * root sleep 30 && ~/script.sh

Offline

 

#3  2018-08-19 09:55:19

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zadanie cron co x sekund

Ja do takich "wiertarek udarowych" wolę daemontools zamiast crona.

Np:
cat /service/vnstat/run

Kod:

#!/bin/sh

exec 2>&1

exec /usr/bin/setuidgid vnstat /usr/local/sbin/updatevnstat

cat /usr/local/sbin/updatevnstat

Kod:

#!/bin/bash

while true; 
do 
for karta in $(ip route show  | grep default | cut -d' ' -f5) ;  do vnstat -u -i $karta; done;
sleep 30
done;

Czy działa?

Kod:

# G1 ###   nie sie 19 09:57:22  domek : ~ 
root ~> svstat /service/vnstat/
/service/vnstat/: up (pid 6902) 230964 seconds

Pozdro

Ostatnio edytowany przez Jacekalex (2018-08-19 12:43:18)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#4  2018-08-19 15:09:52

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Zadanie cron co x sekund

Offline

 

#5  2018-08-19 15:15:19

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zadanie cron co x sekund

yossarian napisał(-a):

Nie potrzeba tyle rzeźbić.

https://www.freedesktop.org/software/systemd/man/systemd.timer.html

Nie zawsze nie trzeba, Systemd jest tak ogromnym i ważnym projektem, że miewa czasami różne humory, jak każdy projekt, który miewa setki tysięcy albo nawet miliony linii kodu.

Czasem lepiej polegać na rozwiązaniach bliższych regule KISS.
Czasem też lepiej jest polegać na 20 liniach własnego kodu, aniżeli na 20 000 linii kodu jakiegoś cudownego programu, ktory coś ma zrobić za nas "automatycznie" i "automagicznie".

Ostatnio edytowany przez Jacekalex (2018-08-19 15:18:09)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2018-08-19 15:17:28

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Zadanie cron co x sekund

No ale właśnie z systemd jest bardzo "simple". xD

Offline

 

#7  2018-08-19 16:06:03

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Zadanie cron co x sekund

@Jacekalex: Te Twoje prowizoryczne skrypty i narzędzie porzucone prawie 20 lat temu są bardzo KISS :D

Offline

 

#8  2018-08-19 16:34:22

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zadanie cron co x sekund

yossarian napisał(-a):

@Jacekalex: Te Twoje prowizoryczne skrypty i narzędzie porzucone prawie 20 lat temu są bardzo KISS :D

I cóż z tego?

Działają zawsze, działają niezawodnie, są najbardziej odporne na aktualizacje systemu.
Do tego można z takimi skrytami fruwać między różnymi systemami Linuxa i BSD,
co przy systemd nie jest aż takie oczywiste.

I to jest podstawowe kryterium oceny dla mnie.

Z  resztą spróbuj zgadnąć, na jakim to jest systemie:

Kod:

root ~> svstat /etc/service/*
/etc/service/cgroup: up (pid 1469) 269446 seconds
/etc/service/dovecot: up (pid 1474) 269446 seconds
/etc/service/dropbear: up (pid 1471) 269446 seconds
/etc/service/mysql: up (pid 1477) 269446 seconds
/etc/service/nginx: up (pid 28787) 36806 seconds
/etc/service/opendkim: up (pid 1473) 269446 seconds
/etc/service/php71: up (pid 1472) 269446 seconds
/etc/service/phpmageadmin: up (pid 1468) 269446 seconds
/etc/service/phpmagento: up (pid 1476) 269446 seconds
/etc/service/postfix: up (pid 1792) 269444 seconds
/etc/service/prosody: up (pid 1478) 269446 seconds
/etc/service/redis: up (pid 1480) 269446 seconds
/etc/service/sshd: up (pid 1475) 269446 seconds

Kod:

root ~> systemctl status  daemontools.service
● daemontools.service - Daemontools service supervision
   Loaded: loaded (/lib/systemd/system/daemontools.service; enabled; vendor pres
   Active: active (running) since Thu 2018-08-16 13:47:53 CEST; 3 days ago
 Main PID: 1426 (svscanboot)
   CGroup: /system.slice/daemontools.service

xD

Pozdro

Ostatnio edytowany przez Jacekalex (2018-08-19 16:40:14)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2018-08-19 17:32:19

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Zadanie cron co x sekund

Do tego można z takimi skrytami fruwać między różnymi systemami Linuxa i BSD,

Wszystko wygląda fajnie do czasu, aż przejmujesz po kimś maszynę pełną takich skryptów pisanych na kolanie i musisz w takim bajzlu zgadywać „co poeta miał na myśli”.

PS Systemd zarządzający daemontools — bardzo pokrętna ta twoja logika :D

Offline

 

#10  2018-08-19 19:59:39

  numer_inaczej - Użytkownik

numer_inaczej
Użytkownik
Zarejestrowany: 2014-08-15

Re: Zadanie cron co x sekund

Kod:

 *     *     *     *     *  komenda do wykonania
 -     -     -     -     -
 |     |     |     |     |
 |     |     |     |     +----- dzień tygodnia (0 - 6) (Niedziela=0)
 |     |     |     |     
 |     |     |     +------- miesiąc (1 - 12)
 |     |     |     
 |     |     +--------- dzień miesiąca (1 - 31)
 |     |     
 |     +----------- godzina (0 - 23)
 |     
 +------------- minuta (0 - 59)

Co pół minuty to byłoby coś a`la

Kod:

*/30 * * * * /user/bin/skrypt_do_wykonania

Wiki PLD

Ostatnio edytowany przez numer_inaczej (2018-08-19 20:01:30)

Offline

 

#11  2018-08-19 20:11:46

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Zadanie cron co x sekund

Cron się do tego w ogóle nie nadaje bo nie operuje na sekundach.
Twój przykład by działał co 30 min.

Cron, przez swój nieudolny mechanizm (operuje na pętlach) zarżnął by większość maszyn przy operacjach wymagających większej powtarzalności niż jedna minuta i z tego powodu ma zaimplementowane takie ograniczenie.
Dlatego powstają nowocześniejsze i wydajniejsze narzędzia (np. systemd.timer), ale niektórzy wolą dalej siedzieć w swojej jaskini ;)

Offline

 

#12  2018-08-20 07:43:02

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zadanie cron co x sekund

yossarian napisał(-a):

Do tego można z takimi skrytami fruwać między różnymi systemami Linuxa i BSD,

Wszystko wygląda fajnie do czasu, aż przejmujesz po kimś maszynę pełną takich skryptów pisanych na kolanie i musisz w takim bajzlu zgadywać „co poeta miał na myśli”.

PS Systemd zarządzający daemontools — bardzo pokrętna ta twoja logika :D

Jak przejmuję po kimś maszynę, to zazwyczaj widzę tam wybitnych ekspertów od konfiguracji Internet Explorera.
Z resztą 90% takich przejmowanych serwerów to maszyny, którymi ktoś się zajmował wieki temu, i teraz pilnie jest potrzeba admina, bo "przestało działać".

Ostatni taki "przejęty serwer" miał Debiana 4.0, a przestał działać bo się w nim
system plików ext3 posypał (po 10 latach miał prawo).
Wstępna diagnoza wykazała agonię dyzia, a ostatni backup był zrobiony w roku 2009.

Także garsć prostych skryptów to wcale nie jest żadna tragedia w odziedziczonym serwerze.
Zazwyczaj można tam dużo gorsze niespodzianki znaleźć, w 8 przypadkach na 10
i tak trzeba taki serwer przeorać, bo żadna aktualizacja już tam pomóc nie może.

Pomijam wypadki typu "ratunku, mój serwer zaczął nagle sam z siebie tony spamu wysyłać, co robić!!!".


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#13  2018-09-18 16:04:44

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Zadanie cron co x sekund

Jacekalex napisał(-a):

yossarian napisał(-a):

@Jacekalex: Te Twoje prowizoryczne skrypty i narzędzie porzucone prawie 20 lat temu są bardzo KISS :D

I cóż z tego?

Działają zawsze, działają niezawodnie, są najbardziej odporne na aktualizacje systemu.
Do tego można z takimi skrytami fruwać między różnymi systemami Linuxa i BSD,
co przy systemd nie jest aż takie oczywiste.

I to jest podstawowe kryterium oceny dla mnie.

Zapomniałeś o OS X, na którym też to pójdzie :D


LRU #480459

Offline

 

#14  2018-09-19 04:55:18

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zadanie cron co x sekund

jezoo napisał(-a):

Jacekalex napisał(-a):

yossarian napisał(-a):

@Jacekalex: Te Twoje prowizoryczne skrypty i narzędzie porzucone prawie 20 lat temu są bardzo KISS :D

I cóż z tego?

Działają zawsze, działają niezawodnie, są najbardziej odporne na aktualizacje systemu.
Do tego można z takimi skrytami fruwać między różnymi systemami Linuxa i BSD,
co przy systemd nie jest aż takie oczywiste.

I to jest podstawowe kryterium oceny dla mnie.

Zapomniałeś o OS X, na którym też to pójdzie :D

Ale za to w Windows 10 nie działa. xD


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

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