Я написал простой bash-скрипт с именем запись-date.sh
который просто записывает дату в файл:
#!/бин/баш
echo "$(date) Write Done" >> write-date.log
И я запускаю скрипт bash каждые 60 секунд следующим образом:
смотреть -n 60 ./write-date.sh
Однако, когда я запускаю команду, вывод создается в запись-date.log
файл содержит вывод, как в фрагменте здесь:
Чт 1 июля 09:42:03 BST 2021 Запись Готово
Чт 1 июля 09:42:03 BST 2021 Запись Готово
Чт 1 июля 09:42:03 BST 2021 Запись Готово
Чт 1 июля 09:42:03 BST 2021 Запись Готово
Чт 1 июля 09:42:03 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:42:04 BST 2021 Запись Готово
Чт 1 июля 09:43:04 BST 2021 Запись Готово
Чт 1 июля 09:43:26 BST 2021 Запись Готово
Чт 1 июля 09:44:26 BST 2021 Запись Готово
Чт 1 июля 09:45:26 BST 2021 Запись Готово
Чт 1 июля 09:46:26 BST 2021 Запись Готово
Чт 1 июля 09:47:26 BST 2021 Запись Готово
Чт 1 июля 09:48:26 BST 2021 Запись Готово
Как видно, бывают случаи, когда дата записывается в файл журнала более одного раза в минуту (в 09:42 и 09:43 в этом примере фрагмента), и я не понимаю, почему это может быть... команда часов неверна? Является ли сам скрипт bash неправильным? Есть ли где-то проблема с системными часами?
ОС - Ubuntu 20.04, где uname -а
является:
Linux-машина 5.4.0-77-generic #86-Ubuntu SMP Чт, 17 июня, 02:35:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Я также должен указать, что причиной этого сценария является то, что у меня возникла проблема, когда корневая файловая система ОС переходит в режим только для чтения каждые несколько часов или иногда каждые несколько дней, и поэтому я пытаюсь узнать день и время когда это произойдет, чтобы я мог позже заглянуть /var/журнал/системный журнал
примерно в это время, чтобы увидеть, не случилось ли что-нибудь странное с системой в указанное время.
--- ОБНОВИТЬ ---
Остановили выполнение команды, очистили файл журнала и снова запустили команду с нуля, и теперь дата регистрируется один раз в минуту, как и следовало ожидать.
Как указано в комментариях, напечатанные повторяющиеся журналы могли быть результатом предыдущего запуска хитроумного сценария (вероятно, ошибка пользователя), но я не могу представить, как и когда это могло произойти. Все равно будет работать часами/днями, так что буду следить за этим.