Nao porque desse jeito o gzip -r já faria e por cima do arquivo original, lembre-se estou falando de backup e por isso nao posso tocar ou modificar o original.
Eu fiz um funcao para ser usado no meu script que resolve o problema, se alguem tiver interesse é só copiar para seu script : function do_copy() { # copia uma pasta de um local de origem # para um local de destino # Porem faz a compactacao para o destino se a extensao nao for a do tipo ja compactada copiar_de_origem="$1" copiar_para_destino="$2" RESULT_VALUE="OK" LISTA_NAO_COMPACTAR=".7z .ace .ain .alz .apz .ar .arc .ari .arj .ark .axx .b64 .ba .bh .boo .bz .bz2 .bzip \ .bzip2 .c00 .c01 .c02 .car .cbr .cbz .cp9 .cpgz .cpt .dar .dd .deb .dgc .dist .ecs .efw \ .fdp .gca .gz .gzi .gzip .ha .hbc .hbc2 .hbe .hki .hki1 .hki2 .hki3 .hpk .hyp .ice .ipg \ .ipk .ish .j .jgz .jic .kgb .lbr .lemon .lha .lnx .lqr .lzh .lzm .lzma .lzo .lzx .md .mint \ .mpkg .mzp .p7m .package .pae .pak .paq6 .paq7 .paq8 .par .par2 .pbi .pcv .pea .pf .pim .pit \ .piz .pkg .pup .pup .puz .pwa .qda .r00 .r01 .r02 .r03 .rar .rev .rk .rnc .rpm .rte .rz .rzs \ .s00 .s01 .s02 .s7z .sar .sdc .sdn .sea .sen .sfs .sfx .sh .shar .shk .shr .sit .sitx .spt \ .sqx .sqz .tar .taz .tbz .tbz2 .tg .tgz .tlz .tz .uc2 .uha .vsi .wad .war .wot .xef .xez \ .xpi .xx .y .yz .z .z01 .z02 .z03 .z04 .zap .zip .zipx .zix .zoo .zz .jpg .png .gif .cab .exe .avi .mpg .mp3" LISTA_NAO_SALVAR=".tmp .$ .~ .swp" if [ "$copiar_de_origem" = "" ] ; then echo "Erro na copia de arquivos : O endereco de origem não foi informado." return fi if [ "$copiar_para_destino" = "" ] ; then echo "Erro na copia de arquivos : O endereco de destino não foi informado." return fi if ! [ -d "$copiar_para_destino" ] ; then mkdir -p "$copiar_para_destino" fi # lendo todos os arquivos na pasta de origem e jogando para dentro de um arquivo temporario temp=`mktemp` find $copiar_de_origem/ -type f >$temp while read ARQ_ATUAL ; do ARQ_ATUAL_PASTA=`dirname "$ARQ_ATUAL"` NOME_ARQUIVO=`basename "$ARQ_ATUAL"` NOME_ARQUIVO_EXT=${NOME_ARQUIVO#*.} NOVA_PASTA="$copiar_para_destino/$ARQ_ATUAL_PASTA" COMPACTAR_ARQUIVO="S" SALVAR_ARQUIVO="S" [[ "$LISTA_NAO_SALVAR" =~ "${NOME_ARQUIVO_EXT}" ]] && SALVAR_ARQUIVO="N" ! [ -d "$NOVA_PASTA" ] && mkdir -p "$NOVA_PASTA" if [ -d "$NOVA_PASTA" ] && [ "$SALVAR_ARQUIVO" = "S" ] ; then [[ "$LISTA_NAO_COMPACTAR" =~ "${NOME_ARQUIVO_EXT}" ]] && COMPACTAR_ARQUIVO="N" if [ "$COMPACTAR_ARQUIVO" = "S" ] ; then echo "[$NOME_ARQUIVO_EXT] transferindo [$ARQ_ATUAL] para [$NOVA_PASTA/$NOME_ARQUIVO.gz]" gzip -c "$ARQ_ATUAL" >"$NOVA_PASTA/$NOME_ARQUIVO.gz" else echo "[$NOME_ARQUIVO_EXT] transferindo [$ARQ_ATUAL] para [$NOVA_PASTA/$NOME_ARQUIVO]" cp "$ARQ_ATUAL" "$NOVA_PASTA/$NOME_ARQUIVO" fi else echo "Falha ao copiar o arquivo [$ARQ_ATUAL] para [$NOVA_PASTA]." RESULT_VALUE="FALHOU" fi done < $temp [ -f "$temp" ] && rm -f "$temp" } Testei agora a pouco e tá funcionando redondo, é só colocar no seu script a funcao acima e usa-la assim : do_copy "/home/fulano" "/media/usbdisk" Só preciso acrescentar mais tipos de arquivos que considero já compactados e lista de extensoes de arquivos temporarios para o backup ir mais rapido e menor. []'s a todos. 2009/8/13 Marcos Paulo Serafim <mpsera...@gmail.com>: > > Se a idéia é varrer os diretórios e compactar, usar um: > > find . -exec gzip '{}' \; > > Não resolve? > > -- > Marcos Paulo Serafim > Analista de Suporte Técnico / Support Analyst > mpserafim (at) gmail (dot) com > Orlandia/SP - Brazil > MSN: mpserafim (at) gmail (dot) com; Linux User: #171191; > FP: EB38 D704 A4FD 2677 A2B2 A052 F44E CAA5 45FB 1F42 > > > > Fabiano Pires escreveu: > > Cara, vc conhece o DAR (Disk ARchiver)? É um sistema de backup > orientado para armazenamento em mídias como HDs e discos (CDs/DVDs). > Você pode setar diversas opções: > * Compressão com gzip/bzip2/nenhuma compressão > * Arquivos que não serão comprimidos (através de RegEx) > * Tamanho mínimo de arquivo para compressão (para não gerar overhead) > * Suporte nativo a multivolumes > * Execução de comandos entre cada volume gerado > > e muito mais. Acho que vale a pena dar uma conferida > > http://dar.sf.net > > Fabiano > > > 2009/8/13 hamacker <sirhamac...@gmail.com>: > > > Bem, como se trata duma solução multiplataforma não poderei usar ext3 > c/ compressão até que haja drivers para esse tipo de acesso > transparente em outras plataformas como Linux. > O empecilho operacional é que o 7zip que usamos para backup tá > demorando demais e trabalhar com multi-volumes tem sido um problema > usando DVDs. O processo seria muito mais agil se os arquivos fossem > mantidos da forma como lhe falei. > Já estou criando um script para realizar este tipo de operação, mas se > houvesse um programa já pronto para essa tarefa, isso facilitaria meu > trabalho. > > []'s > > 2009/8/13 henry <jmhenri...@yahoo.com.br>: > > > Olá pessoal, > > Estou procurando algum programa ao estilo rsync que recrie a estrutura > original porém com os arquivos individualmente, explico. > > Os programas como tar/gz, 7zip, rar, zip, etc... comprimem diretorios > inteiros depositando todos os diretórios dentro de um único pacote > .7z/zip/tar. > Eu gostaria de saber se há algum programa que apenas recrie os > diretórios e comprima apenas os arquivos que existem nele, ex: > > /home/fulano/teste.odt > /home/fulano/projetos/projeto-importante.dxf > > se tornaria na unidade de destino : > /home/fulano/teste.odt.gz > /home/fulano/projetos/projeto-importante.dxf.gz > > Eu gostaria de fazer isso para facilitar alguns obstaculos > operacionais que temos por aqui. > Eu venho estudando uma forma do rsync fazer isso, mas ainda não achei. > > Alguem conhece um método assim ? > > > Olá! > > o obstaculo operacional seria falta de espaço? > > Se for, andei lendo a algum tempo atrás um pessoal aplicando patch no ext3 > para compressão nativa - a-lá diretorios compactados transparentemente do > nt/w2k/xp... Meio arriscado, eu diria. rs > > Ou então, monte o diretorio do servidor na estção via nfs e faça um script > pra > comparar / compactar um-a-um direto na pasta do servidor de backup... > (apenas uma outra idéia...) > > [ ]s, Henry. > > > -- > To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > > > > > -- > To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > > > > > > > -- To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org