
He escrito un script bash simple llamado write-date.sh
que simplemente escribe la fecha en un archivo:
#!/bin/bash
echo "$(date) Write Done" >> write-date.log
Y estoy ejecutando el script bash cada 60 segundos de esta manera:
watch -n 60 ./write-date.sh
Sin embargo, cuando ejecuto el comando, el resultado producido en el write-date.log
archivo contiene resultados como en el fragmento aquí:
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
Como puede verse, hay ocasiones en las que la fecha se escribe en el archivo de registro más de una vez por minuto (a las 09:42 y 09:43 en este fragmento de muestra) y no veo por qué esto podría ser... ¿El comando de vigilancia está mal? ¿Está mal el script bash? ¿Hay algún problema con el reloj del sistema en alguna parte?
El sistema operativo es Ubuntu 20.04 donde uname -a
está:
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
También debo señalar que el motivo de este script es que tengo un problema en el que el sistema de archivos raíz del sistema operativo entra en modo de solo lectura cada pocas horas o, a veces, cada pocos días, por lo que estoy tratando de averiguar el día y la hora. cuando esto suceda para poder mirar más tarde en /var/log/syslog
ese momento y ver si algo extraño le había sucedido al sistema en ese momento.
--- ACTUALIZAR ---
Dejé de ejecutar el comando, borré el archivo de registro y volví a ejecutar el comando desde cero y ahora la fecha se registra una vez por minuto, como era de esperar.
Como se señaló en los comentarios, los registros duplicados impresos pueden haber sido de una ejecución anterior de script poco fiable (probablemente un error del usuario), pero no puedo pensar cómo o cuándo pudo haber sucedido esto. Seguirá funcionando durante horas/días de todos modos, así que lo vigilaremos.