Kiedy zamykam i wyłączam Raspberry Pi 3b, a następnie włączam go ponownie następnego dnia, podczas sprawdzania sudo systemctl status DustSensor
wyświetla się błędna data / godzina rozpoczęcia. Wydrukowana data / godzina pochodzi z daty / godziny zamknięcia.
Jak mogę opóźnić uruchomienie usług do czasu skorygowania daty / godziny z NTP?
Podczas zamykania i wyłącz:
23 lutego 21:09:24 rp3b systemd [1]: Zatrzymywanie usługi DustSensor.service ...
Podczas uruchamiania (włączanie ) następnego dnia, jeszcze ok. stara data / godzina:
23 lutego 21:09:35 rp3b systemd [1]: Uruchomiono usługę DustSensor.service.
Nieco później data / czas jest poprawiany, ale sudo systemctl status DustSensor
podaje starą datę / godzinę (nie pokazano tutaj):
23 lutego 21:09:51 rp3b systemd [826 ]: Uruchomiono magistralę komunikatów użytkownika magistrali D-Bus.Lut 24 09:17:48 rp3b systemd [1]: Czas został zmieniony 24 lutego 09:17:48 rp3b systemd-timesyncd [277]: Zsynchronizowano z serwerem czasu [2a01: 4f8: c17: b8f :: 2]: 123 (2.debian.pool.ntp.org) .Feb 24 09:17:48 rp3b systemd [1]: apt-daily.timer: Dodanie losowego czasu 1h 24min 33,643221s.Lut 24 09:17:48 rp3b systemd [1]: apt-daily-upgrade.timer: Dodanie losowego czasu 22 min. 10,691517 s. 24 lutego 09:17:48 rp3b systemd [826]: Czas został zmieniony 24 lutego 09:17:48 rp3b systemd [1]: Sieć docelowa osiągnięta jest w trybie online.
Oto mój plik DustSensor.service:
[Service] ExecStart = / home / pi / SDS011_Feinstaub_Sensor .pyWorkingDirectory = / home / piRestart = alwaysStandardOutput = syslogStandardError = sysl ogSyslogIdentifier = DustSensorUser = piGroup = pi [Install] WantedBy = multi-user.target
Z sugestią i przykładem hello.service:
[Jednostka ] Opis = Witaj po czasie SyncAfter = time-sync.target [Usługa] Type = oneshotRemainAfterExit = yesExecStart = / bin / echo "$ (date) Witaj, właśnie rozpoczęto" [Install] WantedBy = multi-user.target
Dostaję to, gdzie dopiero po uruchomieniu hello.service data / czas są aktualizowane
dziennikctl -b | egrep '(ello | anged | ync)' 28 lutego 10:48:54 rp3b systemd [1]: Rozpoczynanie synchronizacji czasu sieciowego ... 28 lutego 10:48:55 rp3b systemd [1]: Rozpoczęto synchronizację czasu sieciowego.Lut 28 10:48:55 rp3b systemd [1]: Osiągnięto cel Zsynchronizowano czas systemowy. 28 lutego 10:49:00 rp3b systemd [1]: Uruchamianie Hello po synchronizacji czasu ... 28 lutego 10:49:00 rp3b systemd [1] : Rozpoczęto Hello After Time Sync.Luty 28 10:49:11 rp3b bluetoothd [570]: Nie udało się uzyskać uchwytów dla charakterystyki „Zmiana usługi” 28 lutego 11:35:51 rp3b systemd [1]: Czas został zmieniony 28 lutego 11:35 : 51 rp3b systemd [499]: Czas został zmieniony Lut 28 11:35:51 rp3b systemd-timesyncd [271]: Zsynchronizowano z serwerem czasu [2a02: 2028: ff01: 14 :: 13]: 123 (2.debian.pool .ntp.org).
Również to pokazuje zły czas rozpoczęcia:
sudo systemctl status hello \ u25cf hello.service - Hello After Time Sync Loaded : załadowano (/etc/systemd/system/hello.service; włączone; ustawienie dostawcy: włączone) Aktywne: aktywne (wyjście) od czw. 2019-02-28 10:49:00 CET; 1h 16min temu Proces: 355 ExecStart = / bin / echo $ (data) Witaj świecie, właśnie rozpoczęto (kod = wyjście, status = 0 / SUKCES) Główny PID: 355 (kod = wyjście, status = 0 / SUKCES) CGroup: / system.slice / hello.serviceFeb 28 10:49:00 rp3b systemd [1]: Uruchamianie Hello After Time Sync ... 28 lutego 10:49:00 rp3b systemd [1]: Rozpoczęto Hello After Time Sync.