systemd: como posso executar um script no início de um serviço, sem editar a definição do serviço

systemd: como posso executar um script no início de um serviço, sem editar a definição do serviço

Cenário:

Antes e depois do início de um MariaDB, gostaríamos de executar um script para gerar e destruir alguns arquivos de configuração. Idealmente, faríamos isso sem tocar no arquivo principal mariadb.service instalado pelo gerenciador de pacotes.

ou seja

service mysql start

Deve executar automaticamente outro script/serviçoantesiniciando e outro script/serviçodepoisiniciando.

Alguma sugestão?

Responder1

Se você usar, systemd edit servicename.servicepoderá aplicar substituições locais às coisas na unidade. Para sua solicitação, você pode querer ajustar esses valores.

[Service]
ExecStartPre=beforestuff
ExecStopPost=afterstuff

Se você substituir usando o comando de edição, as alterações provavelmente serão salvas em /etc/systemd/system/servicename.service.d/override.conf.

Links:

informação relacionada