Estou desenvolvendo uma imagem Linux incorporada. Atualmente, tenho uma udev
regra para monitorar eventos de anexação/desconexão de USB. Se um USB estiver conectado, um script será executado para procurar um script no dispositivo upgrade.sh
.
Agora quero expandir isso para monitorar uma pasta no sistema. Se um arquivo for adicionado a esta pasta, desejo executar um script de shell.
Não tenho certeza por onde começar, essa é outra udev
regra?
O que você deseja configurar é uma unidade systemd
path
junto com um serviço associado. Os dois arquivos de unidade podem ter a seguinte aparência:Especificação de caminho
watch-folder.path
. Neste exemplo, usamos aPathChanged
diretiva para verificar se alguma operação de gravação no caminho foi concluída (você também pode usar isso para monitorar um arquivo específico, se desejar).O serviço, que chamará seu script, precisa ter o mesmo nome (exceto a extensão):
watch-folder.service
Observe que o shell script não receberá nenhum argumento, portanto, ele precisa saber o caminho para a pasta monitorada por si só (codificado).
Copie os arquivos para o diretório apropriado (por exemplo
/etc/systemd/system
) e habilite o caminho (não o serviço!) viaEm seguida, inicie o monitoramento de caminho via