Muitas perguntas, então vou responder a parte "como funciona", e não "como faço para que isso funcione".
Isso depende do sistema de arquivos usado. Estou respondendo com base no ext [234], outros provavelmente funcionam da mesma maneira ou de forma semelhante.
-
Não, o horário de modificação do diretório não muda se um arquivo é modificado. O diretório não é modificado neste caso de qualquer forma, ele ainda contém os mesmos arquivos, diretórios, etc ligados a ele.
-
O mesmo que anterior, se "alterar um arquivo" significa o mesmo que "modificar algum arquivo".
Se você remover um arquivo e adicionar um novo com o mesmo nome, ou mover outro arquivo "no topo" de outro, o diretório será modificado.
-
Quando o diretório é modificado. Isso significa vincular / desvincular inodes, como arquivos ou subdiretórios.
As alterações de permissão alteram a hora de alteração , mas não a hora de modificação . Estes são diferentes.
Se você mover o diretório para outro lugar, o tempo de alteração será alterado, mas o tempo de modificação não será.
-
O tempo de acesso ao diretório é alterado quando o diretório é acessado, se não tiver sido desativado . O volume pode ser montado com noatime , o que significa que não o último horário de acesso é escrito normalmente. Observe que os dados do diretório também são armazenados em cache.
Além disso, se você acessar apenas um subdiretório, o tempo de acesso do (s) pai (s) não será alterado.
Portanto, se você pesquisar por diretórios que não foram alterados nos últimos 300 dias, eles ainda poderão conter arquivos que foram alterados. Criação de arquivo ou remoção não aconteceu, mas a edição de conteúdo pode ter. Você terá que verificar por arquivos como você disse.