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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
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
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:
* * * * * root ~/script.sh * * * * * root sleep 30 && ~/script.sh
Offline
Ja do takich "wiertarek udarowych" wolę daemontools zamiast crona.
Np:
cat /service/vnstat/run
#!/bin/sh exec 2>&1 exec /usr/bin/setuidgid vnstat /usr/local/sbin/updatevnstat
cat /usr/local/sbin/updatevnstat
#!/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?
# 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)
Offline
Nie potrzeba tyle rzeźbić.
https://www.freedesktop.org/software/systemd/man/systemd.timer.html
Offline
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)
Offline
@Jacekalex: Te Twoje prowizoryczne skrypty i narzędzie porzucone prawie 20 lat temu są bardzo KISS :D
Offline
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:
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
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)
Offline
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
* * * * * 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
*/30 * * * * /user/bin/skrypt_do_wykonania
Ostatnio edytowany przez numer_inaczej (2018-08-19 20:01:30)
Offline
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
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ć!!!".
Offline
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
Offline
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
Offline