> On 26 Sep 2023, at 13:14, Adrian Sevcenco via RLUG <rlug@lists.lug.ro> wrote:
> 
> Salutare! Am nevoie de un sfat privind executia intr-un interval random
> centrat pe o durata de timp mai mare de o luna...
> Sa zic ca exemplu check-ul de raid care sa ruleze la 36 zile +- 6 zile
> si pentru fiecare raid din masina sa fie diferit
> 
> Tot ce ma gandesc in acest moment e sa scriu in /var/tmp data ultimului check 
> iar scriptul de cron verifica zilnic conditia pentru un md dat sa aiba 
> ultimul timestamp mai vechi de 30 + $(( $RANDOM % 12 + 1 ))
> si daca da, scrie time-ul curent si da drumul la checkul md-ului ...
> 
> E aiurea ce zic? e vreo metoda mai buna de a face asa ceva? (inca mai am 
> servere cu centos 7, deci cam asta ar fi baseline-ul posibilitatilor)
> 
> Multumesc frumos!
> Adrian

Salut,

mdcheck ar trebui sa faca oricum ceea ce vrei tu si din ce retin, fiecare check 
il asteapta pe celalalt.

Totusi, daca insisti poti rula un script de genul celui de mai jos care nu 
depinde de cron, dar cumva reinventam roata:)

#!/bin/bash

matrici=("md0" "md1" "md2")

# random 30-42 (+/- 6 zile)
interval_aleatoriu() {
  interval=$(( (RANDOM % 13) + 30 ))
  echo $interval
}

verifica_matrice() {
  matrice=$1
  echo "Verificăm matricea $matrice"
  mdadm --check /dev/$matrice
}

while true; do
  for matrice in "${matrici[@]}"; do
    verifica_matrice $matrice
    sleep $(interval_aleatoriu)d
  done
done

--
Bogdan-Stefan Rotariu
bog...@rotariu.ro



_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro

Raspunde prin e-mail lui