Systemd 服务不删除文件

Systemd 服务不删除文件

我正在尝试提供一项服务,每 60 秒删除一个目录中的所有文件。我可以通过检查几分钟的状态来判断该服务正在重新启动,并且它每分钟都在激活

 Active: activating (auto-restart) since Sun 2020-09-20 10:46:06 UTC; 3s ago
Process: 479 ExecStart=/bin/rm -rf /data/* (code=exited, status=0/SUCCESS)

这就是我目前的服务

[Unit]
Description=Cleans data directory

[Service]
User=root
Restart=always
RestartSec=60
ExecStart=rm -rf /data/*

[Install]
WantedBy=multi-user.target

我确实尝试过使用 Type=simple,甚至去掉了重新启动部分,并使用了与服务同名的计时器,但 /data 中的文件不会被删除。该服务应该具有权限,因为它具有根级别权限,但我无法弄清楚为什么几分钟后 /data 中仍然有文件。

另外,如果我手动运行该命令,rm -rf /data/*所有文件都会被删除。

答案1

通过 shell 运行命令:ExecStart=/bin/sh -c 'exec rm -rf /data/*'

相关内容