No Linux, você pode usar o inotify - olhe o link para inotify-tools que fornecem um utilitário de shell para monitorar alterações de arquivos.
Essa página também lista várias outras APIs para usar o inotify. Especificamente, gostaria de olhar para incron que é um cron como serviço que aciona comandos com base nas alterações do sistema de arquivos. Há também uma API do Python, bem como para outros idiomas.