Como executar um script após cada montagem automática do sistema?

2

Estou tentando configurar um sistema para que um script seja executado toda vez que um dispositivo de armazenamento USB for montado (nesse caso, montado automaticamente pelo systemd). Com base em algumas referências aqui , aqui e aqui , o systemd permite a execução de scripts personalizados após a instalação de um dispositivo específico, mas estes também:

  • Precisa de um dispositivo ou ponto de montagem específico.
  • Use o udev, que é acionado cedo demais e mantém o processo de montagem.
  • Use auditorias ou registros, o que não é muito satisfatório.

Existe alguma maneira de ser menos específico em unidades systemd, permitindo o uso de ExecStart após qualquer montagem (automática) bem-sucedida?

    
por John WH Smith 14.07.2017 / 16:37

1 resposta

0

Eu só posso poiting o caminho.

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

isso aciona minha unidade 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 

'

Mas isso só funciona bem se a sua unidade for iniciada como usuário e a unidade for acionada também para discos rígidos USB.

    
por 30.07.2017 / 12:55