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 하드 드라이브에 대해서도 트리거되는 경우에만 작동합니다.