Apagar automaticamente arquivos de /var/log*
Publicado por hauck (última atualização em 06/09/2023)
[ Hits: 4.333 ]
Download 1693658202.limpar_Logs.sh (versão 2)
Download 1693673857.limpar_Logs.sh (versão 3)
Shell Script para apagar automaticamente arquivos do diretório /var/log; útil para limpar logs antigos do servidor conforme o agendamento que você configurar no CRON.
Ao executar o script, será salvo um arquivo de log com mesmo nome e no mesmo local com o final ".log"
Recomenda-se adicionar uma linha em /etc/crontab para execução automática deste script.
O código apenas apaga os arquivos, não faz backup.
Versão 2 - Enviado por hauck em 02/09/2023
Changelog: Melhorias gerais, atualização para apagar também arquivos de subpastas/subdiretórios.
Download 1693658202.limpar_Logs.sh
Versão 3 - Enviado por hauck em 02/09/2023
Changelog: Melhorias gerais, adicionada função "run".
Download 1693673857.limpar_Logs.sh
#!/usr/bin/env bash
##
#
LOG="$0.log"
[[ -f "$LOG" ]] && rm -rf $LOG
if [[ $EUID -ne 0 ]]; then
echo -e "Este script deve ser executado pelo usuário root. \n $0\n" >> $LOG
exit
fi
Fext=("*.gz" "*.log.*" "*.*.log*")
Fpath="/var/log"
cd $Fpath
for ext in ${Fext[@]}; do
compact=`find -name "$ext" | wc -l`
if [[ $compact -gt 0 ]]; then
compact2=`find -iname "*$ext"`
for apaga in $compact2; do
Fsize=`ls -sh $apaga | awk '{print $1}'`
rm -f $apaga && {
echo -e "\nApagado arquivo: $apaga" >> $LOG
echo -e "Tamanho: $Fsize" >> $LOG
}
done
# Remove qualquer arquivo com tamanho maior que 1Gb
Frm_size=`find -size +1G -exec rm -rf {} \;` && {
echo -e "\nApagados arquivos maiores que 1Gb: \n$Frm_size" >> $LOG
}
# Remove qualquer arquivo com mais de 3 dias de criação
Frm_date=`find -ctime +3 -exec rm -rf {} \;` && {
echo -e "\nApagados arquivos criados a mais de 3 dias: \n$Frm_date" >> $LOG
}
#for l in `find . -type f -exec ls {} \;`; do
# echo -n >$l &>/dev/null
#done
else
echo -e "Nenhum arquivo para apagar em $Fpath terminando com $ext" >> $LOG
fi
done
filesSize=`ls -lsh | sort -hr`
echo -e "\n\n## $Fpath => tamanho do diretório depois de apagar os arquivos \n## \n$filesSize \n" >> $LOG
Controle de cópia de arquivos por tamanho
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6









