Muito obrigado, funciona legal....


Eu fiz esse aqui tb ta funcionando  tb, mais esta correto a forma de
pensar/fazer?


#/bin/bash

diretorio=/home/servidor
excluidos=(mp3 videos contabilidade)

for DIRETORIOS in `ls -l $diretorio | grep "^d"  | awk '{print $8}'`; do
  for (( i = 0 ; i < ${#excluidos[*]} ; i++ ))
  do
    if [ $DIRETORIOS = ${excluidos[$i]} ]; then
      continue 2
    fi
  done
  tar -jcv "$diretorio""$DIRETORIOS" -f /root/backup_$DIRETORIOS.tar.bz2
done




Em 19/05/06, Humberto Pereira <[EMAIL PROTECTED]>
escreveu:
>
> [EMAIL PROTECTED] wrote:
> > Oi Humberto,
> >
> > Ainda nao deu certo... ele esta pegando todos os diretorios inclusive os
> que
> > estao na variavel $excluidos.
> >
> > Uma pergunta, eu nao teria que comparar $files com cada pedaco do
> > $excluidos, tipo separar a string em partes e comparar com o $files?
>
> Mas eh isso q o script faz.
> Comentando o script:
>
> >> #!/bin/bash
> >>
> >>
> >> diretorio=/home/servidor/
> >> excluidos="mp3 videos fotos" # isso seria nome de diretorios
>
> Pega todos os arquivos em $diretorio
>
> >> for file in $diretorio/* ; do
> Ve se o arquivo eh um diretorio
> >>       if [ -d "$file" ]; then
> Pega todas as palavras em $excluidos
>
> >>             for exc in $excluidos ; do
> Compara cada palavra ($exc) com o diretorio ($file)
> >>                   if [ "$file" = "$exc" ] ; then
> Os 2 sao iguais, entao volta pro comeco do loop + externo.
> >>                         continue 2
> >>                   fi
> >>             done
> Eh um diretorio e nao esta na lista, entao compacta.
>
> >>             tar -jcv "$diretorio$file" -f /root/backup_$file.tar.bz2
> >>       fi
> >> done
>
> Mas tem um detalhe q eu esqueci. Debugando ele aqui achei o erro (isso q
> dar escrever sem testar)
>
> A variavel $file tem o caminho completo do diretorio (por ex.
> /home/servidor/mp3).
>
> Entao, vc pode pegar o nome dele usando basename. Ficaria assim
>
>
>
> #!/bin/bash
>
> diretorio=/home/servidor/
> excluidos="mp3 videos fotos" # isso seria nome de diretorios
>
> #Pega todos os arquivos em $diretorio
>
> for file in $diretorio/* ; do
>       #Ve se o arquivo eh um diretorio
>       if [ -d "$file" ]; then
>             #remove o caminho completo do diretorio
>             f=`basename $file`
>             #Pega todas as palavras em $excluidos
>
>             for exc in $excluidos ; do
>                   #Compara cada palavra ($exc)
>                   # com o diretorio ($f)
>                   if [ "$f" = "$exc" ] ; then
>                         #Os 2 sao iguais, entao volta
>                         #pro comeco do loop + externo.
>                         continue 2
>                   fi
>             done
>             #Eh um diretorio e nao esta na lista, entao compacta.
>             tar -jcv "$diretorio$f" -f /root/backup_$f.tar.bz2
>       fi
> done
>
>
> Espero q isso resolva...
> []s
> Humberto Pereira
>
>
>
>  ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
> <http://br.ard.yahoo.com/SIG=12f91o74v/M=396559.7942981.9477179.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1148075816/A=3714796/R=2/id=noscript/SIG=1554ctaqg/*http://lt.dell.com/lt/lt.aspx?CID=13048&LID=341557&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/notebooks?c%3dbr%26l%3dpt%26s%3ddhs>
> ------------------------------
> *Links do Yahoo! Grupos*
>
>    - Para visitar o site do seu grupo na web, acesse:
>    http://br.groups.yahoo.com/group/shell-script/
>
>    - Para sair deste grupo, envie um e-mail para:
>    [EMAIL PROTECTED]<[EMAIL PROTECTED]>
>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


[As partes desta mensagem que não continham texto foram removidas]



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil




Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a