私は Centos 8 OS を使用しています。起動時に Tomcat を起動するサービスがあります。アップデート後に再起動をトリガーするバグが報告されましたが、Tomcat は起動していません (システムは再起動されました)。
systemctl status {service.name}
だった
Loaded: loaded (/etc/systemd/system/{service.name}; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-10-02 18:42:21 EEST; 2 weeks 3 days ago
ここでの問題は、再起動直後に「アクティブ: 2 週間 3 日前」と表示されることです。この問題は、サービスを再起動することで簡単に解決されました。
しかし、私はまだそれを再現することができず、それがどのように可能なのか理解できませんでした。
/var/log/journal
私は手動でフォルダを作成してsystemdジャーナルログの永続的なストレージを有効にしようとし、journalctl -u {service.name}
前後のログを表示しました-- Reboot --
が、結果は
systemctl status {service.name}
最後のサービス開始からの時間を計算します。
では、何が原因となっActive: active (running)
て古くなったり、間違ったステータスが表示されたりするのか知っている人はいませんか? (サービスが間違った時間やアクティブ ステータスを表示してはならないため)。よろしくお願いします。
また、最後のサービス起動時間はsystemctl status {service.name}
2週間前のものなので、ログ全体が古く見えます。
更新されたサービス
[Unit]
Description=Start tomcat service
After=network-online.target snmpd.service
Wants=network-online.target
Conflicts=tomcat-debug.service
[Service]
ExecStart=/opt/infrascale/stark-scripts/tomcat-start.sh
ExecStop=/opt/infrascale/stark-scripts/tomcat-stop.sh
StandardOutput=journal
StandardError=journal
Restart=always
Type=forking
[Install]
WantedBy=multi-user.target
今のところ、これは人為的なエラーで、再起動前にサービスステータスが取得されたか、カーネルを4.18から5.14にアップデートした後にsystemdに何らかの問題が発生したかのどちらかのようです。