停止 systemd 服務並清除所有持久性數據

停止 systemd 服務並清除所有持久性數據

我有一個 systemd 服務正在使用單元文件中的DynamicUserand ,因此該服務可以自由重新啟動而不會丟失資料。StateDirectory然而,有時我想完全清理所有持久性資料並從空白狀態啟動它,我可以透過systemctl stop命令的一些參數來做到這一點嗎?
編輯:我正在尋找一個受支援的官方參數,systemctl它將清除所有持久數據,而不是將參數傳遞給我的腳本的方法。

答案1

來自systemd.exec 手冊

當裝置停止時,不會刪除使用 StateDirectory=、CacheDirectory=、LogsDirectory=、ConfigurationDirectory= 指定的目錄。

沒有官方的說法支持系統清除這些目錄。您可以使用腳本來做到這一點。

答案2

您可以使用systemctl clean

$ systemctl clean unit-name

相關內容