Debian

為什麼系統在重啟後幾個小時就忘記了日期?

  • February 13, 2019

我有每天上午 12:10 執行關閉 bash 腳本的 cron 命令。

10 0 * * * /bin/bash /var/www/scripts/special-reboot.sh

該腳本非常基本,它所做的只是關閉 nginx 並將數據從 MySQL 中的 MEMORY 表移動到普通表。然後它執行sudo /sbin/shutdown -r now 'Daily restart.'

它已經執行了大約一兩個月,但是昨晚發生了一件非常奇怪的事情,我需要知道為什麼。

我有一個 python 日誌記錄腳本,它每 15 分鐘檢查一次重要程序是否正在執行。昨晚重啟後,日誌看起來像這樣(注意日期和時間)。

[2019-02-12 23:45] 
...
[2019-02-13 00:00]
...
[2016-11-04 03:30]
...
[2016-11-04 03:45]
...
[2016-11-04 04:00]
...
[2016-11-04 04:15]
...
[2016-11-04 04:30]
...
[2016-11-04 04:45]
...
[2016-11-04 05:00]
...
[2016-11-04 05:15]
...
[2016-11-04 05:30]
...
[2019-02-13 02:30]
...
[2019-02-13 02:45]
...
[2019-02-13 03:00]

如您所見,它突然從不同的日期時間開始計數大約兩個小時,然後又恢復正常。

最可怕的部分是受影響的不僅僅是 python 腳本。另一個跟踪電脈衝的 C 腳本缺少該時間段的數據。

我不知道是什麼原因造成的。我知道,由於我的日誌記錄腳本,所有重要程序在這段時間內都執行得非常好。我相信這很可能是系統而不是我的程序的問題。

樹莓派上沒有實時時鐘 (RTC)。

Raspberry Pi 被設計為一款超低成本的電腦,因此我們在電腦上習慣的很多東西都被遺漏了。例如,您的筆記型電腦和電腦有一個小型硬幣電池供電的“實時時鐘”(RTC) 模組,即使在電源關閉或電池取出時也能保持時間。為了保持低成本和小尺寸,Raspberry Pi 不包含 RTC。相反,Pi 旨在通過乙太網或 WiFi 連接到 Internet,從全球 ntp(網路時間協議)伺服器自動更新時間

您可以花大約 6 美元為樹莓派購買一個。否則 NTP 是您唯一的選擇。

引用自:https://unix.stackexchange.com/questions/500322