DELETAR arquivos a X semanas passadas
Publicado por Pedro Augusto Malanga 18/04/2007
[ Hits: 11.142 ]
Olá Galera,
Fiz um script que deleta arquivos de um diretório específico com data de criação a X semanas passadas.
Não sei se no linux já tem alguma ferramenta pronta para isso ou se alguém já fez algo semelhante, mas valeu pela diversão...
Abracos.
#!/bin/bash
## Forma de trabalhar
## ./deleta.sh caminhoARQUIVOS camilhoLOG email QuantidesDeSemanaPassadasdaAtual
## Pode haver problemas com permissoes por exemplo vc tentar executar
## este script com um usuario nao root tentando deletar dentro
## de uma pasta que somente o root em acesso.
if ([ -z $1 ]); #|| [ -z $2 ] || [ -z $3 ] || [ -z $4 ]);
then
clear
echo "Voce deve passar o comando com 4 parametros";
echo "Ex. ./deleta.sh caminho caminhodolog email qtddesemanas";
exit
fi
clear
hora=`date +%H:%M-%D`
diretorio=$1
dias=`date +%Y%W`
log=$2
email=$3
qtd=$4
echo "Diretorio a ser varrido:" $diretorio ":: Diretorio do log: " $log;
dias=`expr $dias - $qtd`
echo "Quantida solicitadas:" $qtd ":: Semana a ser excluida: " $dias;
echo "Email do log:" $email;
declare -a arquivos
arquivos=(`find $diretorio -type f -printf "%TY%TW:%p\\n"`)
x=0;
while [ $x != ${#arquivos[@]} ]
do
echo "Elemento numero"
echo $x;
echo "Nome do arquivo dentro do array"
echo ${arquivos[$x]};
cortarsemana=`echo ${arquivos[$x]} | cut -f 1 -d :`
if [ $cortarsemana == $dias ]; then
cortar=`echo ${arquivos[$x]} | cut -f 2 -d :`
echo "EXCLUINDO: " $cortar;
rm $cortar -f
RETVAL=$?
if [ $RETVAL = "1" ]
then
echo "Problemas ao deltar arquivo" $cortar;
echo $hora " -- ERRO -- Problemas ao deletar" $cortar >> $log/DELETA_LOG;
echo $hora " -- ERRO -- Problemas ao deletar" $cortar | mail -s "Testando" $email;
else
if [ $RETVAL = "0" ]
then
echo "Exclusao com sucesso do arquivo: " $cortar;
echo $hora " -- PODE -- Exclusao feita no arquivo:" $cortar >> $log/DELETA_LOG;
echo $hora " -- PODE -- Exclusao feita no arquivo:" $cortar | mail -s "Testando" $email;
fi
fi
else
echo "Nao remover pq nao é de uma semana atras";
echo $hora " -- NAO -- Nao remove porque nao esta dentro da data:" $cortar >> $log/DELETA_LOG;
echo $hora " -- NAO -- Nao remove porque nao esta dentro da data:" $cortar | mail -s "Testando" $email;
fi
let "x = x +1"
done
exit
}
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
O que você está ouvindo agora? [2] (242)
Abrir um arquivo URL pelo Clipper (7)
Eu aprendi o segredo das artes! hahaha (0)









