Puncte:0

Crontab - ziua lunii pare să înlocuiască ziua săptămânii?

drapel sa

Am cinci servere care rulează un cluster de depozit de evenimente. Vreau să rulez o comandă crontab pe fiecare în zile separate.

  1. Aleargă luni
  2. Aleargă marți etc

Dar vreau și să rulez o comandă diferită în a patra săptămână a fiecărei luni.

Le-am configurat așa, crezând că ar trebui să funcționeze - și verificând crontab.guru a confirmat ceea ce credeam că ar trebui să se întâmple;

Mașini 1-5:

  1. 30 6 1-21 * Luni /first-command-to-run
  2. 30 6 1-21 * Tue /first-command-to-run
  3. 30 6 1-21 * Wed /first-command-to-run
  4. 30 6 1-21 * Thu /first-command-to-run
  5. 30 6 1-21 * Vine / prima-comandă-pentru-execuție

Apoi, o comandă similară pentru fiecare pentru comanda Săptămâna 4:

  1. 30 6 22-29 * Luni /week4-command-to-run (repetați DOW ca mai sus)

Așa că pentru astăzi - vineri, 19, am vrut doar ca mașina #5 să ruleze /first-command-to-run la 0630 și ca celelalte patru să nu facă nimic.

Eram destul de încrezător că va funcționa conform așteptărilor, dar se pare toate cinci mașinile au rulat /first-command-to-run în această dimineață, în loc de doar mașina de vineri.

Totuși, niciunul nu a rulat /week4-command-to-run, așa că ziua lunii care se încadrează în intervalul 22-29 previne corect acest lucru.

Acum mă întreb dacă, prin specificarea intervalului de zi din lună, acest lucru îl determină pe cron să ignore Ziua Săptămânii. Ar putea fi cazul? Dacă nu, cu ce greșesc?

Os este Rocky 8.4

(Notă: sunt conștient și de acord cu faptul că ziua exactă a lunii ar putea fi în afara săptămânilor stricte.)

Simon Avery avatar
drapel sa
Mulțumim lui @archemar pentru indicator. Pentru oricine urmărește, acest lucru se va descurca așa cum mă așteptam: 30 6 1-21 * * [ "$(date --date='Today' '+\%a')" = "Marti" ] && /first-command-to-run
Puncte:0
drapel mx

conform om 5 crontab pe ubuntu.

Notă: Ziua executării unei comenzi poate fi specificată de două câmpurile â ziua lunii și ziua săptămânii. Dacă ambele câmpurile sunt restricționate (adică, nu începe cu *), comanda va fi rulată atunci când oricare dintre câmpuri se potrivește cu ora curentă.

Vă rugăm să verificați pagina locală de manual crontab.

Simon Avery avatar
drapel sa
Gah, nu știu cum am ratat asta. Multumesc pentru raspuns, cu siguranta asta e problema. Se pare că va trebui să fac o logică mai inteligentă asupra scriptului în sine.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.