Como posso fazer backup de grandes quantidades de arquivos pequenos?

1

Um sistema de arquivos do Windows é montado por meio do samba e eu estou tentando compactar uma grande quantidade de arquivos pequenos:

find /path/to/files/ -newermt "2012-01-01 00:00:00" -path '*/*log.txt'  -exec tar cvfz log_file_system.tar.gz {} +

mas depois de um tempo, o tamanho do tarball é reposto.

/path/to/files/log1.txt
tar: Removing leading '/' from member names <- the size of the tar became zero
/path/to/files/log2.txt

Por que isso está acontecendo? Como posso consertar isso?

    
por OHLÁLÁ 03.02.2014 / 22:38

1 resposta

1

A opção -exec "+" só criará uma linha de comando com tamanho limitado. Quando o comprimento total da linha de comando exceder esse tamanho, ele iniciará uma nova linha de comando. Esse problema é semelhante ao xargs.

Você vai querer enviar a entrada do nome do arquivo para o tar, usando -T -.

    
por 04.02.2014 / 00:07

Tags