
У меня есть служба systemd, которая использует DynamicUser
и StateDirectory
в файле юнита, поэтому службу можно перезапустить свободно без потери данных. Однако иногда мне нужно полностью очистить все постоянные данные и запустить ее с пустого состояния, можно ли это сделать с помощью некоторых параметров команды systemctl stop
?
EDIT: Я ищу официальный параметр, поддерживаемый , systemctl
который очистит все постоянные данные, а не способ передачи аргументов моему скрипту.
решение1
Изруководство по systemd.exec:
Каталоги, указанные с помощью StateDirectory=, CacheDirectory=, LogsDirectory=, ConfigurationDirectory=, не удаляются при остановке устройства.
Официального аргумента, подтверждающего это, нет.системдкоторый очищает эти каталоги. Вы можете использовать скрипт, чтобы сделать это.
решение2
Вы можете использоватьsystemctl clean
:
$ systemctl clean unit-name