So ermitteln Sie die Ausführungszeit einer Hintergrundaufgabe in Linux

So ermitteln Sie die Ausführungszeit einer Hintergrundaufgabe in Linux

Ich arbeite mit Software-RAID in Linux. Wenn ich die Wiederherstellung eines RAID-Arrays nach einem Festplattenfehler starte, läuft diese Aufgabe im Hintergrund. /proc/mdstatDie geschätzte Wiederherstellungszeit sollte angezeigt werden, aber sie ist nicht korrekt. In meinem Fall /proc/mdstatwurden geschätzte 15 Stunden angezeigt, aber die Wiederherstellung war in etwa 10 Stunden abgeschlossen. Gibt es eine Möglichkeit, die genaue Ausführungszeit des Wiederherstellungs-Daemons zu erfahren?

Antwort1

Sie können im Hintergrund ein einfaches Skript ausführen, das den „Neuaufbaustatus“ prüft und die Wartezeit ausgibt:

tick=$(date +%s)
while [ -n "$(cat /proc/mdstat | grep 'rebuilding')" ]; do
    sleep 10
done
tock=$(date +%s)
echo $(($tock-$tick))

mdadmhat auch eine --monitorOption, die E-Mails sendet, wenn Ereignisse auftreten. Ich habe sie noch nie verwendet, aber es könnte sich lohnen, sich damit zu befassen, da ein abgeschlossener Neuaufbau als bemerkenswertes Ereignis gelten kann.

verwandte Informationen