Domanda

Sto scrivendo software di backup. Voglio per determinare a livello di codice se un file è stato modificato dopo l'ultima volta. È una bandiera o qualcosa di simile sul file con il file system EXT3?

È stato utile?

Soluzione

Certo. Basta chiamare stat() sul file, e ispezionare il 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 avete nell'applicazione un timestamp quando l'ultimo backup è stato fatto, è possibile confrontare direttamente.

Si noti però che non tutti i filesystem davvero aggiornare l'ora modificata, in quanto così facendo è un po 'caro. Ti sembra di essere consapevoli di questo rischio.

Altri suggerimenti

Credo che siete alla ricerca di stat()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top