Pergunta

Eu estou escrevendo software de backup. Eu quero programaticamente determinar se um arquivo foi modificado desde a última vez. É uma bandeira ou algo parecido em arquivos sob o sistema de arquivos ext3?

Foi útil?

Solução

Claro. Basta ligar stat() sobre o arquivo, e inspecionar o membro st_mtime:

struct stat {
    /* ... snip ... */
    time_t    st_atime;   /* time of last access */
    time_t    st_mtime;   /* time of last modification */
    time_t    st_ctime;   /* time of last status change */
};

Se você tem na aplicação de um timestamp quando o último backup foi feito, você pode comparar diretamente.

Note que embora nem todos os sistemas de arquivos realmente atualizar a hora modificado, pois isso é o tipo de cara. Você parece estar conscientes deste risco.

Outras dicas

Eu acho que você está procurando stat()

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top