como fazer a soma de verificação em uma pasta no Solaris

3

Na minha máquina Solaris, às vezes, uso o comando sum para verificar se um arquivo não foi alterado. Agora quero verificar se o conteúdo de um diretório foi alterado, mas sum é executado apenas em arquivos.

Existe uma maneira de executar sum ou um comando similar em um diretório inteiro?

Exemplo sum em um arquivo:

$ sum  file.xml
27247 11 file.xml
    
por maihabunash 18.03.2015 / 13:10

3 respostas

3

Use tar para criar o tarball do diretório e executar a soma nele.

tar cf - <directory name> | sum -

    
por 18.03.2015 / 13:14
6

1) faça uma referência:

find . -type f -exec sum {} \; | sort -k3 > /my/reference.txt

2) faça um teste de tempo de execução

find . -type f -exec sum {} \; | sort -k3 | diff /my/reference.txt -

onde

  • sort -k3 faz uma classificação no nome do arquivo
  • diff parte mostrará o arquivo alterado, adicionado ou excluído.
por 18.03.2015 / 13:16
2

No Solaris tar funciona de maneira diferente. Então, use gtar do GNU ou use tar cf - e, em seguida, a solução da Miline:

tar cf - folder | sum
    
por 18.03.2015 / 14:06