Systemdサービスはファイルを削除しません

Systemdサービスはファイルを削除しません

60秒ごとにディレクトリ内のすべてのファイルを削除するサービスを提供しようとしています。数分間ステータスを確認すると、サービスが再起動され、1分ごとにアクティブになっていることがわかります。

 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

シェルを介してコマンドを実行します。ExecStart=/bin/sh -c 'exec rm -rf /data/*'

おすすめ記事