como compactar uma pasta sem deixar a pasta original e sem remover a pasta original

1

sob o diretório SQL, temos apenas a pasta tmp (uso da pasta tmp 59G)

é possível comprimir a pasta tmp sem sair da pasta tmp original? , então a compressão funcionará na pasta original

o uso da pasta:

 root@serverE1:/var/backup/SQL #  du -sh *

 59G     tmp

então depois da compressão eu vou ver apenas isto: (8G é apenas um exemplo)

 8G   tmp.tar.gz
    
por yael 03.07.2016 / 15:54

2 respostas

1

Existem dois problemas para resolver:

  • como remover os arquivos sem interferir na sua saída e
  • onde colocar a saída enquanto ela está sendo criada.

Se você não tiver nenhum arquivo de ponto em /var/backup/SQL , é simples:

  • basta criar sua saída com o nome "."
  • adicione ao arquivo tar usando a opção --remove-files e
  • renomeie a saída para tmp.tar.gz quando terminar.

Algo como

cd /var/backup/SQL
tar cfz .tmp.tar.gz --remove-files * && mv .tmp.tar.gz tmp.tar.gz

Se você fizer ter arquivos-ponto, você pode construir uma lista dos arquivos a serem classificados e então usar essa lista para construir o arquivo tar. Usando o Linux, você pode usar a opção -T ( --files-from ) para ler essa lista, por exemplo,

cd /var/backup/SQL
find . -type f >/tmp/list
tar czf tmp.tar.gz --remove-files --files-from /tmp/list

(Alguém com certeza sugerirá a substituição do processo em vez de um arquivo temporário, mas isso tem o inconveniente de tamanho limitado, o que pode ser um problema).

    
por 03.07.2016 / 16:26
0

Use um gerenciador de arquivos. Exemplo usando mc , navegue para SQL / tmp , pressione F2 , (" Comprima o subdiretório atual (tar.gz) "), então 3 , então Enter , aguarde o arquivamento, suba um nível, (observe o novo arquivo SQL / tmp.tar.gz ), use F8 para excluir a pasta tmp .

( mc irá compactar quaisquer arquivos e diretórios que comecem com '. ' também.)

    
por 03.07.2016 / 17:26