Pergunta

Eu tenho a pergunta Como você rastrear arquivos no SMB com um aplicativo? aberto e eu estava woundering se talvez existam original ID de para arquivos para que eu possa controlar quando um arquivo / pasta é movido. Existe algo parecido com isso? Ele pode ser específico muito debian

Foi útil?

Solução

A resposta é, como sempre 'depende'. O que quer dizer com 'id único'? Será que esta mudança id se o conteúdo do arquivo é alterado, ou você consideraria isso como o mesmo arquivo? Em Unix, o inode em conjunto com o dispositivo define o 'id único', mas esta é mantida mesmo se as alterações de conteúdo.

Se você quiser agora o que toca um arquivo, você pode usar inotify na mesma máquina para descobrir o que acontece com arquivos (ou seu precursor: dnotify).

Se você precisa tê-lo em frente máquinas, então eu assumo samba iria usar inotify para ser notificado e convertê-lo em eventos SMB / CIFS, mas eu não estou familiarizado com isso.

Se você quer um ID baseado em conteúdo e, portanto, usar hashes, você precisa ir ao espaço do usuário. Por exemplo, este é exatamente o que Git (o sistema de controle de versão) faz: ele controla os hashes do conteúdo ter um 'id único'

.

Outras dicas

Se os arquivos não vão ser movidos, você pode usar um hash.

Se você pode ter um daemon rodando em segundo plano, você escrever um programa usando inotify para eventos de movimentação moniter.

Se você não pode fazer isso, você poderia usar o número inode (mas que poderia mudança em um movimento de arquivo).

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