
私はタイムゾーン A の 1604 システムを使用していますが、timedatectl set-timezone B を使用してタイムゾーンを B に設定した後、すべて正常に動作します。(「timedatectl status」は B、「date」コマンドは正しい時間を表示し、新しいファイルを作成した後はファイル時間も正確です)
しかし、rsyslogd はまだタイムゾーン A で動作しており、crond もタイムゾーン A で動作していることがわかりました。古いタイムゾーンで実行されている他のデーモンがあるかどうかは不明なので、これを回避するためにシステムを再起動しました。
なぜそれらのデーモンは新しいタイムゾーンで更新されなかったのでしょうか?
答え1
はい。システム上の cron および rsyslog サービスを再起動する必要があります。これらのサービスは起動時にタイムゾーンを取得し、システム全体のタイムゾーンの変更は検出しません。
service cron restart
service rsyslog restart
答え2
Ubuntu 16.04 以降では、サービスを再起動するための最も適切なsystemd
コマンドは次のとおりです。
sudo systemctl restart cron
sudo systemctl restart rsyslog
は機能しますがservice <name> stop/start/restart
、 構文は非推奨となり、 が推奨されますsystemctl stop/start/restart <name>
。