Detenga un servicio systemd y borre todos los datos persistentes

Detenga un servicio systemd y borre todos los datos persistentes

Tengo un servicio systemd que utiliza DynamicUsery StateDirectoryen el archivo de la unidad, por lo que el servicio se puede reiniciar libremente sin perder datos. Sin embargo, a veces quiero limpiar completamente los datos persistentes e iniciarlos desde un estado en blanco, ¿puedo hacerlo con algunos parámetros del systemctl stopcomando?
EDITAR: Estoy buscando un parámetro oficial compatible systemctlque borre todos los datos persistentes, no una forma de pasar argumentos a mi script.

Respuesta1

Desde elmanual de systemd.exec:

Los directorios especificados con StateDirectory=, CacheDirectory=, LogsDirectory=, ConfigurationDirectory= no se eliminan cuando se detiene la unidad.

No existe ningún argumento oficial respaldado porsistemadque borra estos directorios. Puedes usar un script para hacer eso.

Respuesta2

Puedes usarsystemctl clean:

$ systemctl clean unit-name

información relacionada