Problem mit dem Überwachungsbefehl, dem Bash-Skript oder dem Systemproblem?

Problem mit dem Überwachungsbefehl, dem Bash-Skript oder dem Systemproblem?

Ich habe ein einfaches Bash-Skript mit dem Namen geschrieben write-date.sh, das das Datum einfach in eine Datei schreibt:

#!/bin/bash

echo "$(date) Write Done" >> write-date.log

Und ich führe das Bash-Skript alle 60 Sekunden wie folgt aus:

watch -n 60 ./write-date.sh

Wenn ich den Befehl jedoch ausführe, write-date.logenthält die in der Datei erzeugte Ausgabe eine Ausgabe wie im folgenden Snippet:

Thu  1 Jul 09:42:03 BST 2021 Write Done
Thu  1 Jul 09:42:03 BST 2021 Write Done
Thu  1 Jul 09:42:03 BST 2021 Write Done
Thu  1 Jul 09:42:03 BST 2021 Write Done
Thu  1 Jul 09:42:03 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:42:04 BST 2021 Write Done
Thu  1 Jul 09:43:04 BST 2021 Write Done
Thu  1 Jul 09:43:26 BST 2021 Write Done
Thu  1 Jul 09:44:26 BST 2021 Write Done
Thu  1 Jul 09:45:26 BST 2021 Write Done
Thu  1 Jul 09:46:26 BST 2021 Write Done
Thu  1 Jul 09:47:26 BST 2021 Write Done
Thu  1 Jul 09:48:26 BST 2021 Write Done

Wie man sehen kann, wird das Datum manchmal mehr als einmal pro Minute in die Protokolldatei geschrieben (in diesem Beispielausschnitt um 09:42 und 09:43), und ich kann nicht erkennen, woran das liegen könnte ... ist der Überwachungsbefehl falsch? Ist das Bash-Skript selbst falsch? Gibt es irgendwo ein Problem mit der Systemuhr?

Das Betriebssystem ist Ubuntu 20.04, wobei uname -aFolgendes gilt:

Linux machine 5.4.0-77-generic #86-Ubuntu SMP Thu Jun 17 02:35:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Ich sollte auch darauf hinweisen, dass der Grund für dieses Skript darin liegt, dass ich ein Problem habe, bei dem das Root-Dateisystem des Betriebssystems alle paar Stunden oder manchmal alle paar Tage in den schreibgeschützten Modus wechselt. Deshalb versuche ich, den Tag und die Uhrzeit herauszufinden, wann dies geschieht, damit ich später zu /var/log/syslogdieser Zeit nachsehen kann, ob zu dieser Zeit irgendetwas Seltsames mit dem System passiert ist.

--- AKTUALISIEREN ---

Habe die Ausführung des Befehls gestoppt, die Protokolldatei gelöscht und den Befehl noch einmal von Grund auf neu ausgeführt. Jetzt wird das Datum wie erwartet einmal pro Minute protokolliert.

Wie in den Kommentaren erwähnt, könnten die doppelten Protokolle von einem früheren fehlerhaften Skriptlauf stammen (wahrscheinlich ein Benutzerfehler), aber ich kann mir nicht vorstellen, wie oder wann das passiert sein könnte. Wird sowieso noch stunden-/tagelang laufen, also werde ich ein Auge darauf haben.

verwandte Informationen