squidclean.sh
Publicado por Edson G. de Lima 30/10/2005
[ Hits: 5.250 ]
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
Conversor de vídeo com opção de legenda
Instala/Remove/Atualiza com APT [gerenciador_apt.sh]
KDE 4.1.1 no Slackware Linux 12.1
Cria cabeçalhos para shell scripts
Nenhum comentário foi encontrado.
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Instalando TeamViewer no Debian 12
Conheça o Octopi, outro frontend para o Pacman com acesso ao AUR (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
horário adiantado no sistema (12)
Apertei Crtl+alt+f4 e agora somente inicia na linha de comando (1)
Eu estou com problemas para usar o QBASIC no Dosbox X (3)
Tibia não pode ser aberto em virtual machine (14)
Após atualização do Ubuntu 22.04.4 LTS perdi a instalação da placa de ... (3)