Flávio R. Lopes escreveu em 14-11-2007 17:23:

> Vou dar um exemplo de como estou fazendo um backup aqui por enquando, 
> usando uma solução que achei na Net:
> 
> Fiz um Script assim:
> #!/bin/bash
> cd /tmp/backup
> rm -rf bkp_filtro.txt
> touch bkp_filtro.txt
> find /home -iname "*.xls" >> /tmp/bkp_filtro.txt
> find /home -iname "*.doc" >> /tmp/bkp_filtro.txt
> find /home -iname "*.eml" >> /tmp/bkp_filtro.txt
> find /home -iname "*.htm" >> /tmp/bkp_filtro.txt
> find /home -iname "*.dwg" >> /tmp/bkp_filtro.txt
> find /home -iname "*.pdf" >> /tmp/bkp_filtro.txt
> 
> tar -T /tmp/bkp_filtro.txt -czvf backup.tar.gz
> 
> Então...com este Script eu determino QUAIS EXTENSÕES eu QUERO INCLUIR no 
> meu backup.
> 
> O que na verdade eu quero seria mais ou menos o contrário, ou seja, um 
> Script que iria buscar numa lista, quais as extensões que EU NÃO QUERO 
> que entre no meu backup, ou seja, o Script fará o backup de tudo o que 
> está naquele determinado diretório, COM EXCEÇÃO DAS EXTENSÕES contidas 
> na lista.

Foi :-)

find /home/ -type f \
  | grep -vE "\.jpe*g*$"$'\x0a'"\.gif$"$'\x0a'"\.pps$" \
  | tar zcvf /tmp/backup.tar.gz -T -

Consideracoes:

   O ultimo parametro do grep eh da forma:

   "<string1>"$'\x0a'"<string2>"$'\x0a'..."<stringn>"

    - <string> eh uma expressao regular que representa a extensao;
    - o $ significa que <string> esta no final da linha, entao precisa
      estar entre aspas para nao conflitar com o $ de $'\x0a';
    - o \. significa que eh um ponto, pois . simplesmente numa regexp
      siginifica um caracter qualquer.

man find, man grep e man tar vai mostrar mais possibilidades legais :-p

[]

-- 
------------------------    __o    [EMAIL PROTECTED]  ----.-----------
  [EMAIL PROTECTED] Roberto Bagatini   _`\<,    www.ceat.net/~arkanon  \
   -=---=---==---=---=-   (_)/(_)   Phone +55 51 3748 7000  `--------
  Lajeado - RS - Brasil  ---------  ICQ 34 789 30 - LinuxUser 102.514
---------------------------------------------------------------------


--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
-~----------~----~----~----~------~----~------~--~---

Responder a