Apagar automaticamente arquivos de /var/log*
Publicado por hauck (última atualização em 06/09/2023)
[ Hits: 3.602 ]
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
Script para "Ler" arquivos de texto
Script para conexão em horário determinado
Script para calcular a media área de cobertura de impressão (toner ou tinta)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta