Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Pessoal, blz?

    Será q alguem tem uma dica p/ isso q estou querendo fazer?
    É o seguinte:
    Tenho o samba configurado aki e funcionando blz. E todo dia faço um backup dos arquivos pessoais dos usuários (2ª FULL e de 3ª a sabado incremental). Até ai tudo bem sem problemas.

    Só q eu andie olhando, e existem muito arquivos .tmp (temporarios) q acabam sendo "backpeados" e q é uma ciosa desnecessária. Então para melhorar minha politica de backup, o que quero fazer é q antes do backup ser executado, rode um script q remova esse arquivos .tmp.

    Tenho esse script funcionando + ou -. Segue abaixo o script:

    #!/bin/bash
    find /home/ -name "*.tpm" > lista_a_excluir.txt
    for ARQ in `cat lista_a_excluir.txt` ; do
    rm -f $ARQ
    done

    O script funciona legal para diretorios sem espaço. Mas qdo o nome do diretorio tem masi de uma palavra separado por espaço, o script já não funciona.
    Ex.:

    /home/usuario/teste.tmp -> esse arquivo o script consegue excluir.
    /home/usuario/projeto linux/teste.tmp -> esse arquivo o script já não exclui.

    Até cheguei a colocar manualmente a contra barra mas nada.
    /home/usuario/projeto\ linux/teste.tmp

    o linux sempre entendo como se fossem 2 diretorios, diretorio projeto e diretorio linux.
    rm -f /home/usuario/projeto ::: arquivo ou diretorio não encontrado
    rm -f linux ::: arquivo ou diretorio não encontrado

    Alguém sabe como posso resolver isso???

    Valeu ....

  2. #2
    errado
    Olá!

    Veja:

    Código :
    #!/bin/bash
     
    find /home -name "*.tmp" > teste.txt
     
    num=`wc -l teste.txt|awk '{print $1}'`
    num=`expr $num + 1`
    count=1
     
    while [ $count -lt  $num ]
    do
    	comando=$count"p"
    	arquivo=`sed -n $comando teste.txt`
    	rm "$arquivo"
    	count=`expr $count + 1`
    done

    Isso faz o trabalho. O código não está nem um pouco polido e nem testei à fundo, mas o "lance" é fazer a leitura do arquivo por linhas visto que `for $var in ...` separa por espaços. (sed -n Xp arquivo, onde X é o número da linha).

    ;)



  3. Ok. Vou testar.

  4. Show de bola. Era isso mesmo.
    Esta funcionado blz.

    Valeu pelo script.



  5. #5
    whinston
    Citação Postado originalmente por doliveira
    Show de bola. Era isso mesmo.
    Esta funcionado blz.

    Valeu pelo script.

    blz cara, q bom que funcionou.
    tem como vc disponibilizar este incremental que vc está usando ?
    axo que seria bem útil a comunidade, abs.






Tópicos Similares

  1. Remover arquivo de varias pastas e subpastas
    Por criscross no fórum Sistemas Operacionais
    Respostas: 2
    Último Post: 14-09-2010, 08:22
  2. remover arquivo usando o unlink
    Por Raphael_suporte no fórum Linguagens de Programação
    Respostas: 2
    Último Post: 17-03-2009, 15:25
  3. erro do ambiente gráfico com arquivo /tmp/.X0-lock
    Por Dedao no fórum Servidores de Rede
    Respostas: 2
    Último Post: 16-01-2009, 10:24
  4. Remover arquivo "falso"
    Por detroyder no fórum Servidores de Rede
    Respostas: 5
    Último Post: 19-12-2004, 17:26
  5. snort+acid+mysql, problemas gravando arquivos tmp
    Por call_ no fórum Segurança
    Respostas: 0
    Último Post: 03-05-2004, 10:34

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L