システムの自動マウントが完了するたびにスクリプトを実行する方法は?

システムの自動マウントが完了するたびにスクリプトを実行する方法は?

USBストレージデバイスがマウントされるたびにスクリプトが実行されるようにシステムを設定しようとしています(この場合はsystemdによって自動的にマウントされます)。いくつかの参考資料に基づいてここここそしてここ、systemdを使用すると、特定のデバイスがインストールされた後にカスタムスクリプトを実行できますが、これらのスクリプトは次のようになります。

  • 特定の機器または取り付けポイントが必要です。
  • udevを使用すると、早期にトリガーされ、インストールプロセスが保存されます。
  • 監査やロギングを使用すると、それほど満足のいくものではありません。

とにかくありますか?少ないExecStart特に、成功した(自動)インストール後にシステムデバイスで許可されますか?

ベストアンサー1

私は方向だけを知らせることができる。

cat /etc/udev/rules.d/bb-clam.rules 
KERNEL=="sd[b-z]*", SUBSYSTEMS=="usb", TAG+="systemd", ENV{SYSTEMD_WANTS}="clamtk.service"

その後、私のデバイスのclamtk.serviceが実行されます。cat /etc/systemd/system/clamtk.service

[Unit]
Description=clamtk
Requires=dev-media0.device

[Service]
Type=simple
User=alex
ExecStart=/bin/bash -c "/usr/local/bin/clam"
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=15s

[Install]
WantedBy=multiuser.target

ただし、これはデバイスがユーザーとして起動し、デバイスがUSBハードドライブに対してもトリガーされる場合にのみ機能します。

おすすめ記事