systemd: サービス定義を編集せずに、サービスの開始時にスクリプトを実行するにはどうすればいいですか?

systemd: サービス定義を編集せずに、サービスの開始時にスクリプトを実行するにはどうすればいいですか?

シナリオ:

MariaDB の起動前と起動後に、いくつかの設定ファイルを生成および破棄するスクリプトを実行したいと思います。理想的には、パッケージ マネージャーによってインストールされたコア mariadb.service ファイルに触れずにこれを実行できます。

つまり

service mysql start

別のスクリプト/サービスを自動的に実行する必要があります前に開始と別のスクリプト/サービス起動。

助言がありますか?

答え1

使用すると、systemd edit servicename.serviceユニット内のものにローカルオーバーライドを適用できます。 リクエストに応じて、これらの値を調整する必要があるかもしれません。

[Service]
ExecStartPre=beforestuff
ExecStopPost=afterstuff

編集コマンドを使用して上書きすると、変更は に保存される可能性があります/etc/systemd/system/servicename.service.d/override.conf

リンク:

関連情報