Am scris un script bash simplu numit scrie-data.sh
care pur și simplu scrie data într-un fișier:
#!/bin/bash
echo "$(data) Scriere gata" >> write-date.log
Și rulez scriptul bash la fiecare 60 de secunde astfel:
ceas -n 60 ./write-date.sh
Cu toate acestea, când rulez comanda, rezultatul este produs în fișierul scrie-data.log
fișierul conține rezultate ca în fragmentul de aici:
Joi, 1 iulie 09:42:03 BST 2021 Scrieți gata
Joi, 1 iulie 09:42:03 BST 2021 Scrieți gata
Joi, 1 iulie 09:42:03 BST 2021 Scrieți gata
Joi, 1 iulie 09:42:03 BST 2021 Scrieți gata
Joi, 1 iulie 09:42:03 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:42:04 BST 2021 Scrieți gata
Joi 1 iulie 09:43:04 BST 2021 Scrieți gata
Joi 1 iulie 09:43:26 BST 2021 Scrieți gata
Joi 1 iulie 09:44:26 BST 2021 Scrieți gata
Joi 1 iulie 09:45:26 BST 2021 Scrieți gata
Joi 1 iulie 09:46:26 BST 2021 Scrieți gata
Joi 1 iulie 09:47:26 BST 2021 Scrieți gata
Joi 1 iulie 09:48:26 BST 2021 Scrieți gata
După cum se poate vedea, există momente în care data este scrisă în fișierul jurnal de mai multe ori pe minut (la 09:42 și 09:43 în acest fragment de exemplu) și nu văd de ce ar putea fi asta... comanda ceasului este greșită? Este scriptul bash în sine greșit? Există o problemă cu ceasul sistemului undeva?
Sistemul de operare este Ubuntu 20.04 unde uname -a
este:
Mașină Linux 5.4.0-77-generic #86-Ubuntu SMP Joi 17 iunie 02:35:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
De asemenea, ar trebui să subliniez că motivul pentru acest script este că am o problemă în care sistemul de fișiere rădăcină al sistemului de operare intră în modul doar citire la câteva ore sau uneori la câteva zile și așa că încerc să aflu ziua și ora. când se întâmplă asta, ca să mă pot uita mai târziu /var/log/syslog
cam în acel moment pentru a vedea dacă ceva ciudat s-a întâmplat cu sistemul la momentul respectiv.
--- ACTUALIZAȚI ---
Ați oprit executarea comenzii și ați șters fișierul jurnal și ați reluat comanda din nou de la zero, iar acum data este înregistrată o dată pe minut, așa cum ne-ați aștepta.
După cum s-a subliniat în comentarii, jurnalele duplicate tipărite ar putea fi dintr-o rulare anterioară de script dus (probabil o eroare de utilizator), dar nu mă pot gândi cum sau când s-ar fi putut întâmpla acest lucru. Oricum, va continua să ruleze ore/zile, așa că va fi cu ochii pe el.