[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script comparação de datas



Descobri como resolver, dei uma lida no MAN do comando, e vi que eu podería identificar o DEPTH da procura, inclui -maxdepth 0 e resolveu, vlw =D


Em 12 de fevereiro de 2014 11:44, Rodolfo <rof20004@gmail.com> escreveu:
Henrique, o comando que voce me passou funciona que e uma beleza, porem estou com um problema, preciso executar esse find em 3 pastas diferentes, ele executa, so que ele remove o conteudo das pastas quando nao era pra remover, ta assim meu script.

#!/bin/bash

# $1 = Pasta principal, onde se encontram as pastas Disponivel, Transferido e Erro.

find $1/Transferido/* -type d -mtime +10 -exec rm -fR {} \;
find $1/Disponivel/* -type d -mtime +10 -exec rm -fR {} \;
find $1/Erro/* -type d -mtime +10  -exec rm -fR {} \;

Se eu executo linha por linha, sem usar o script, funciona legal, porém, ao botar isso em script, ele realmente remove os diretorios que tem modificacao +10, porem, dos diretorios que nao tem, ele nao remove, ate ai tudo bem, mas ele remove o que tem dentro desses diretorios que nao era pra ser removido, estranho.

Sabe o que é ?

Vlw



Em 12 de fevereiro de 2014 10:16, henrique <jmhenrique@yahoo.com.br> escreveu:
Vc quer fazer isso???

find /diretorio -type f  -mtime +10 -exec rm -f {} \;

Abraços e divirta-se.
Henry

--------------------------------------------
Em qua, 12/2/14, Rodolfo <rof20004@gmail.com> escreveu:

 Assunto: Script comparação de datas
 Para: "debian-user-portuguese" <debian-user-portuguese@lists.debian.org>
 Data: Quarta-feira, 12 de Fevereiro de 2014, 11:59

 Alguem tem ou sabe como
 fazer um script bash que me diz se uma data é menor que a
 outra ?
 Estou fazendo assim mas esta dando
 erro:
 #!/bin/bash

 # Data atual menos 10 dias
 atrasdateMinusTen=$(date -d 'now - 10
 days' +'%d/%m/%Y')
 echo "Data atual menos 10:
 $dateMinusTen"
 for dir in "$1"/*
 do        modificationDate=$(stat -c %y
 "$dir" | cut -d ' ' -f1);   
     modificationDate=$(date -d
 "$modificationDate"
 +'%d/%m/%Y');

         echo $dateMinusTen;        echo
 $modificationDate;
         if [ $modificationDate <
 $dateMinusTen ]; then                 
       echo "Hello";
         fidone

 O erro ocorre no ultimo IF, onde vejo se a data
 de modificacao e menor que a data atual.
 O que quero fazer é que esse script, ao ser
 executado, delete os arquivos e pastas que sua ultima
 modificacao foi mais de 10 dias atraz, alguem sabe onde
 posso estar errando ? No caso era pra aparecer o Hello, mas
 da o erro a seguir:

 ./print_date_modification: line 17: 02/02/2014:
 Arquivo ou diretório não encontrado


 Obrigado desde já =D




Reply to: