Domanda

Ho la domanda Come si fa a tenere traccia dei file in SMB con un'applicazione? aperto e mi è stato woundering se forse ci sono ID univoco del file in modo da poter tenere traccia di quando un file / cartella viene spostata. C'è qualcosa di simile? Può essere specifico molto debian

È stato utile?

Soluzione

La risposta è come sempre 'dipende'. Che cosa si intende con 'id unico'? Sarebbe questo cambiamento id se il contenuto del file viene modificato, o sarebbe si considera che, come lo stesso file? In Unix, nell'inode insieme al dispositivo definisce la 'ID univoco', ma questa viene mantenuta anche se il contenuto cambia.

Se si desidera ora che cosa tocca un file, è possibile utilizzare per inotify sulla stessa macchina per scoprire cosa succede ai file (o il suo precursore: dnotify).

Se avete bisogno di averlo attraversato macchine, quindi presumo samba userebbero inotify a ricevere la notifica e convertire che agli eventi SMB / CIFS, ma io non sono a conoscenza di questo.

Se si desidera un id basato sul contenuto e quindi utilizzare hash, è necessario andare a userspace. Ad esempio, questo è esattamente quello che fa Git (il sistema di controllo di versione): tiene traccia gli hash dei contenuti di avere un 'id unico'

.

Altri suggerimenti

Se i file non stanno per essere spostati, è possibile utilizzare un hash.

Se è possibile avere un demone in esecuzione in background, è scrivere un programma utilizzando inotify a moniter eventi spostare.

Se non è possibile farlo, è possibile utilizzare il numero di inode (ma che potrebbe cambiamento su una mossa file).

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