Há um framework no Linux chamado inotify
que permite que um programa registre um manipulador a ser chamado toda vez que um arquivo ou diretório é alterado, então se você estiver escrevendo um programa em C, você pode usá-lo. Obviamente, seu programa precisará estar em execução quando ocorrer a mudança.
Existe um daemon especial chamado incron que é como "cron for inotify "e é capaz de executar scripts quando um arquivo / diretório é alterado. Ele pode ser instalado com sudo apt-get install incron
, então você precisará adicionar algumas linhas ao seu arquivo de configuração.
Veja um artigo útil: Linux incrond inotify: Monitore os diretórios para alterações e tome medidas
Se você pesquisar sinápticos para "inotify", encontrará muitas outras bibliotecas e programas com funcionalidade semelhante.