Script para apaga log Endian por Tamanho com Log proprio.
Enviado: 04 Mar 2016 21:29
Ola amigos,
Tive problemas com o tamanho dos arquivos de log do Endian e criei este script shell para apagar os arquivos de tempo em tempo mas por tamanho quando um arquivo no diretório /var/log por exemplo chegar a 1GB ele vai apagar este arquivo e criar novamente ele também criar o próprio log onde poderá ver o que foi feito durante a execução.
#!/bin/bash
#
# Script Escrito por
# Fabio gaspar
#
echo -e "Executado-----------`date "+%Y-%m-%d %H:%M:%S"`"-------------- >> /var/log/tamanho.log
echo -e "--------------------------------------------------------------" >> /var/log/tamanho.log
echo -e "Pega arquivos para deletar - `date "+%Y-%m-%d-%H.%M"`" >> /var/log/tamanho.log
cd /var/log
#Procura tudo que for maior de 1GB dentro do /var/log
find . -type f -size +1000000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'>> /var/log/tamanho.log
# executa a limpeza dos logs
echo -e "Executa a limpeza dos logs - `date "+%d-%m-%Y"`" >> /var/log/tamanho.log
Tamanho=`find . -type f -size +1000000k`
echo Zerando arquivo $Tamanho... >> /var/log/tamanho.log
for apaga in $Tamanho
do
rm -f $apaga
echo Limpeza dos arquivos de log concluída! >> /var/log/tamanho.log
done
echo -e "Reiniciando Services - `date "+%d-%m-%Y"`" >> /var/log/tamanho.log
/etc/init.d/squid restart >> /var/log/tamanho.log
#/etc/init.d/havp restart >> /var/log/tamanho.log
#/etc/init.d/clamd restart >> /var/log/tamanho.log
#/etc/init.d/dansguardian restart >> /var/log/tamanho.log
/etc/init.d/ulogd restart >> /var/log/tamanho.log
/etc/init.d/syslog-ng restart >> /var/log/tamanho.log
echo -e "--------------------------------------------------------------" >> /var/log/tamanho.log
exit 0
Pode agendar no cron para executar semanalmente por exemplo:
copie o script para este diretório do Endian
/etc/cron.weekly
chmod 775 /etc/cron.weekly/apagalog
Tive problemas com o tamanho dos arquivos de log do Endian e criei este script shell para apagar os arquivos de tempo em tempo mas por tamanho quando um arquivo no diretório /var/log por exemplo chegar a 1GB ele vai apagar este arquivo e criar novamente ele também criar o próprio log onde poderá ver o que foi feito durante a execução.
#!/bin/bash
#
# Script Escrito por
# Fabio gaspar
#
echo -e "Executado-----------`date "+%Y-%m-%d %H:%M:%S"`"-------------- >> /var/log/tamanho.log
echo -e "--------------------------------------------------------------" >> /var/log/tamanho.log
echo -e "Pega arquivos para deletar - `date "+%Y-%m-%d-%H.%M"`" >> /var/log/tamanho.log
cd /var/log
#Procura tudo que for maior de 1GB dentro do /var/log
find . -type f -size +1000000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'>> /var/log/tamanho.log
# executa a limpeza dos logs
echo -e "Executa a limpeza dos logs - `date "+%d-%m-%Y"`" >> /var/log/tamanho.log
Tamanho=`find . -type f -size +1000000k`
echo Zerando arquivo $Tamanho... >> /var/log/tamanho.log
for apaga in $Tamanho
do
rm -f $apaga
echo Limpeza dos arquivos de log concluída! >> /var/log/tamanho.log
done
echo -e "Reiniciando Services - `date "+%d-%m-%Y"`" >> /var/log/tamanho.log
/etc/init.d/squid restart >> /var/log/tamanho.log
#/etc/init.d/havp restart >> /var/log/tamanho.log
#/etc/init.d/clamd restart >> /var/log/tamanho.log
#/etc/init.d/dansguardian restart >> /var/log/tamanho.log
/etc/init.d/ulogd restart >> /var/log/tamanho.log
/etc/init.d/syslog-ng restart >> /var/log/tamanho.log
echo -e "--------------------------------------------------------------" >> /var/log/tamanho.log
exit 0
Pode agendar no cron para executar semanalmente por exemplo:
copie o script para este diretório do Endian
/etc/cron.weekly
chmod 775 /etc/cron.weekly/apagalog