bashスクリプトの出力をリダイレクトする場所をsystemdスクリプトでどのように指定しますか?

bashスクリプトの出力をリダイレクトする場所をsystemdスクリプトでどのように指定しますか?

私のカスタムアプリケーションを実行するためにbashスクリプトにコマンドがあります。

./my_app --config ./cfg >> my_app.log 2>>my_app.err

システムサービスで梱包したいです。これまで私はこれをしました:

[Unit]
Description=my_app
After=syslog.target

[Service]
ExecStart=/home/user123/my_app_dir/my_app --config cfg
Restart=on-abort
WorkingDirectory=/home/user123/my_app_dir
SyslogIdentifier=my_app
User=my_user

[Install]
WantedBy=multi-user.target

リダイレクトされた出力の2つの部分をログに変換するにはどうすればよいですか?

ベストアンサー1

StandardOutput=file:/path/to/log1
StandardError=file:/path/to/log2

バラより公式マニュアル。これにより、新しいファイルが作成されるか古いファイルが上書きされるため、古いStandardOutput=append:/path/to/log1ログを維持したい場合があります。

おすすめ記事