squidclean.sh
Publicado por Edson G. de Lima 30/10/2005
[ Hits: 5.232 ]
Script para fazer limpeza dos diretórios de cache e dos arquivos de log (do Squid, claro :).
Como ele roda de modo não interativo, é ideal para ser colocado no crontab.
#!/bin/bash # Autor: Edson G. de Lima # Mail: Xxoin[thanks]yahoo.com.br # Edite as variáveis abaixo conforme seu Sistema: # Declarando as variáveis: # ------------------------ # Path do Squid: SQUID=/usr/sbin/squid # Path do squid.conf SQUIDCONF=/etc/squid/squid.conf # Path do Sarg SARG=/usr/bin/sarg # Arquivo que será gerado com os logs da inicialização do Squid: LOGSTART=/root/squid.txt # Processo copy do Squid: SQUIDPROC=$(ps -ax | grep \(squid\) | head -1 | cut -d' ' -f2) # Diretório raíz do cache do Squid: DIRCACHE=$(grep "cache_dir ufs /" $SQUIDCONF | cut -df -f2- | cut -d' ' -f2) # Arquivo de log do Squid: ARQCACHE=$(grep "cache_log /" $SQUIDCONF | cut -dg -f2- | cut -d' ' -f2) # Arquivo de histórico do cache do Squid: ARQSTORE=$(grep "cache_store_log /" $SQUIDCONF | cut -dg -f2- | cut -d' ' -f2) # Arquivo de logs de acesso ao Squid: ARQACCESS=$(grep "cache_access_log /" $SQUIDCONF | cut -dg -f2- | cut -d' ' -f2) # Arquivo .pid do Squid: PID=$(grep "pid_filename /" $SQUIDCONF | cut -de -f3- | cut -c2-) # Declarando a função para limpar o cache: # ---------------------------------------- CLEAN() { if [ $DIRCACHE != /var/spool/squid -a $DIRCACHE != /var/cache/squid ] || [ $DIRCACHE = ]; then echo echo Este e-mail foi gerado pelo script squidclean.sh pelo seguinte motivo: \ Não foi encontrado no squid.conf, o local dos Diretórios de Cache! \ Corrija esta situação, editando a TAG \"cache_dir\" no squid.conf \ com o caminho dos diretórios de cache.\ Se esta TAG estiver correta no squid.conf, edite a variável DIRCACHE \ do script squidclean.sh, com o caminho apontado no seu squid.conf. \ Nada foi feito... | mail root echo exit 0 fi # Parando o Squid: kill $SQUIDPROC # Forçando a parada do Squid: killall -9 squid # Forçando a remoção do PID do Squid: if [ -e $PID ]; then rm -f $PID fi # Gerando relatório com o Sarg: if [ -e $SARG ]; then $SARG -d $(date +%d/%m/%Y) fi # Limpando os arquivos de log: cat /dev/null > $ARQCACHE cat /dev/null > $ARQACCESS cat /dev/null > $ARQSTORE # Removendo os diretórios de cache: rm -rf $DIRCACHE/* # Reiniciando o Squid: if [ -e /etc/init.d/squid ]; then /etc/init.d/squid start else # REcriando os diretórios de cache: $SQUID -z $SQUID -D -sYC chmod 755 -R $ARQCACHE fi # Gerando log da inicialização: PROCNOVO=$(ps -ax | grep \(squid\) | head -1 | cut -d' ' -f2) echo $(date) > $LOGSTART echo Veja abaixo os logs de inicialização do Squid: >> $LOGSTART echo >> $LOGSTART echo >> $LOGSTART cat /var/log/messages | grep squid >> $LOGSTART echo >> $LOGSTART cat $ARQCACHE >> $LOGSTART echo >> $LOGSTART echo >> $LOGSTART echo Os dois números abaixo devem ser iguais. >> $LOGSTART echo >> $LOGSTART # Mostrando o processo copy-squid: echo O processo cópia do Squid é: $PROCNOVO >> $LOGSTART # Listando o -PID- do Squid: echo O conteúdo do arquivo squid.pid é: $(cat $PID) >> $LOGSTART echo >> $LOGSTART } # Executa função CLEAN: CLEAN exit
Baixar música no tramavirtual (wget)
Instalação de servidor DHCP rápido e fácil
Backup da database do gerenciador de pacotes RPM
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Lançado Ubuntu 24.04 Final (4)
iso de sistema 32 bit em atividade (11)
ASRock H310CM-HG4 vs Linux (15)