+ Responder ao Tópico



  1. Olá pessoal!
    Quero fazer um script para apagar um arquivo sempre que ele chegar a 1mega de tamanho, mas como faço esse script para ver se o arquivo chegou a 1 mega ?
    Outra coisa: o script sempre tem que ficar em loop constante, pois depois de algum tempo o arquivo .log chega a 1mega e precisa ser apagado novamente.
    É mais ou menos assim
    #!/bin/sh
    for x in `ls *.log`;do
    if [ "$x" -ge 1000000 ]
    then
    rm -fv "$x";
    fi
    done;


    O programa sempre dá erro. Alguém sabe onde estou errando ?
    Desde já agradeço pela grande ajuda.
    PS: Estou usando o Kurumin 6.1

  2. é simples colega, o seu erro é pq vc está a comparar um valor ( -ge) e nao um tamanho

    o script funcionava correctamente se vc estivesse a comparar numeros, pois o "-ge" significa

    Inteiro 1 is greater (maior) then or equal (igual) Interiro 2

    pra pegar o tamanho de um arquivo vc tem de user o comando "ls -s arquivo"
    por exemplo, o comando --> (ls -s *.log|cut -f1 -d " ")
    vai lhe dar o tamanho em Kb de todos os arquivos de log, basta agora multiplicar esses valores por 1024 e vc tem em Mb..e passa ao mesmo tempo a ter numeros, os quais voce ja pode comparar usando o [ $X -ge ]

    agora é so adaptar ao script...
    mas uma coisa... pq vc n usa o programa "logrotate" que serve mesmo para isso?
    basta configurar ele para apagar os seus lgs kdno atingem o limite que vc defenir..
    Um abraço.



  3. Citação Postado originalmente por The-shadow
    é simples colega, o seu erro é pq vc está a comparar um valor ( -ge) e nao um tamanho

    o script funcionava correctamente se vc estivesse a comparar numeros, pois o "-ge" significa

    Inteiro 1 is greater (maior) then or equal (igual) Interiro 2

    pra pegar o tamanho de um arquivo vc tem de user o comando "ls -s arquivo"
    por exemplo, o comando --> (ls -s *.log|cut -f1 -d " ")
    vai lhe dar o tamanho em Kb de todos os arquivos de log, basta agora multiplicar esses valores por 1024 e vc tem em Mb..e passa ao mesmo tempo a ter numeros, os quais voce ja pode comparar usando o [ $X -ge ]

    agora é so adaptar ao script...
    mas uma coisa... pq vc n usa o programa "logrotate" que serve mesmo para isso?
    basta configurar ele para apagar os seus lgs kdno atingem o limite que vc defenir..
    Um abraço.
    Muito obrigado pelo ajuda amigo.
    Fiz uns testes preliminares e deram certo com outros exemplos.
    Desconhecia o logrotate. Vou testar aqui também para ver se atende as minhas necessidades.
    Não tenho como agradecer. Obrigado mesmo mais uma vez.
    Valeu.






Tópicos Similares

  1. Script para apagar arquivos
    Por Cobausque no fórum Redes
    Respostas: 2
    Último Post: 14-05-2011, 20:48
  2. Script para apagar arquivo e criar um novo em seu lugar
    Por juniox no fórum Linguagens de Programação
    Respostas: 3
    Último Post: 20-04-2006, 07:03
  3. Problema para abrir mensagens maiores que 1MB
    Por foliveira no fórum Servidores de Rede
    Respostas: 11
    Último Post: 30-11-2004, 16:14
  4. [b]Arquivos Maiores que 2 GB no RedHat 7.3[/b]
    Por fiipi no fórum Servidores de Rede
    Respostas: 0
    Último Post: 19-01-2004, 09:06
  5. Arquivos maiores que 2gb
    Por maino no fórum Servidores de Rede
    Respostas: 4
    Último Post: 23-09-2003, 15:13

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L