スクリーンセッションで実行されている systemd サービスのログ出力をキャプチャする

スクリーンセッションで実行されている systemd サービスのログ出力をキャプチャする

私は Minecraft サーバーを systemd サービスとして実行しています。サービスのパスは、ExecStart次の内容のスクリプトへのパスです。

screen -L -DmS minecraft java -Xmx4096M -Xms1024M -jar server.jar nogui

つまり、これはフォークされたものではなく、単純なサービスとして実行されています。

呼び出しの出力をjava、screen セッションで表示することに加えて、systemd の通常のメカニズムを使用してログに記録したいと考えています。私は systemd に関してはほぼ初心者なので、どこから始めればよいかわかりません。呼び出しteeの出力javaを何かに取り込むことはできますか?

答え1

最終的に、サーバーの実行方法を変更することでこの問題を解決しました。screen の使用を完全にやめ、Minecraft の RCON サポートを使用してサーバーを制御しました (停止など)。この質問に対する正確な回答かどうかはわかりませんが、Minecraft サーバーを実行している人にとってはうまくいくはずです。

詳細はこちら:systemd を使用した Minecraft サーバーの起動/シャットダウン

関連情報