O script abaixo irá baixar os arquivos tar.gz de blacklist dos sites squidguard.mesd.k12.or.us e www.shallalist.de, após isso ele irá descompactar os arquivos e copiar as pastas de blacklists, que estejam listados por você nos arquivos bls_mesd.txt e bls_shalla.txt, para o diretório de blacklists do squidGuard, após isso mudará o dono dos diretórios de blacklists do squidGuard para o usuário squid e por ultimo ele irá recompilar as blacklists transformando-as em arquivo de banco de dados para o squidGuard. O conteúdo da pasta utlizada para baixar e descompactar os tar.gz será limpa no final do processo.
-> PARA AGENDAR A EXECUÇÃO DO SCRIPT UTILIZE O crontab.
#!/bin/bash
###############################################################
# Atualizando blacklists selecionadas para o squidGuard
# Por Leonardo Couto Conrado
# Em 11/01/2012
###############################################################
# README:
# Crie o diretorio da variavel dirWork
# Crie o arquivo de log da variavel logUpBlackLists
# Crie o arquivo /usr/local/upblacklists/bls_mesd.txt ele deverá conter as blacklists desejadas da mesd squidguard.mesd.k12.or.us para serem copiadas para as blacklists do squidGuard
# Crie o arquivo /usr/local/upblacklists/bls_shalla.txt ele deverá conter as blacklists desejadas da shalla www.shallalist.de para serem copiadas para as blacklists do squidGuard
clockNow=$(date +%d.%m.%Y-%H:%M)
dirBlackListSquidGuard=/usr/local/squidGuard/db/blacklists/
dirWork=/usr/local/upblacklists/work/
dirUpBlackLists=/usr/local/upblacklists/
squidGuardCreateDBs="/usr/local/squidGuard/bin/squidGuard -C all"
urlListMesd=http://squidguard.mesd.k12.or.us/blacklists.tgz
urlListShalla=http://www.shallalist.de/Downloads/shallalist.tar.gz
fileTgzMesd=blacklists.tgz
fileTgzShalla=shallalist.tar.gz
fileBlacklistsMesd=blacklists/
fileBlacklistsShalla=BL/
logUpBlackLists=/var/log/updatebacklists.log
numBlsMesd=$(cat $dirUpBlackLists"bls_mesd.txt" | wc -l)
numBlsShalla=$(cat $dirUpBlackLists"bls_shalla.txt" | wc -l)
counter=1
# INICIO
cd $dirWork
wget -c $urlListMesd
wget -c $urlListShalla
if [ $? = 0 ]; then
tar -xzf $dirWork$fileTgzMesd
tar -xzf $dirWork$fileTgzShalla
cd $dirWork$fileBlacklistsMesd
echo $clockNow " - ANDAMENTO COPIA DAS BLS DA MESD: " >> $logUpBlackLists
while [ $counter -le $numBlsMesd ]; do
blMesd=$(cat $dirUpBlackLists"bls_mesd.txt" | awk -v VAR=$counter 'NR == VAR {print $0}')
/bin/cp -fv $dirWork$fileBlacklistsMesd$blMesd/domains $dirBlackListSquidGuard$blMesd >> $logUpBlackLists
/bin/cp -fv $dirWork$fileBlacklistsMesd$blMesd/urls $dirBlackListSquidGuard$blMesd >> $logUpBlackLists
let counter=counter+1
done
counter=1
cd $dirWork$fileBlacklistsShalla
echo $clockNow " - ANDAMENTO COPIA DAS BLS DA SHALA: " >> $logUpBlackLists
while [ $counter -le $numBlsShalla ]; do
blShalla=$(cat $dirUpBlackLists"bls_shalla.txt" | awk -v VAR=$counter 'NR == VAR {print $0}')
/bin/cp -fv $dirWork$fileBlacklistsShalla$blShalla/domains $dirBlackListSquidGuard$blShalla >> $logUpBlackLists
/bin/cp -fv $dirWork$fileBlacklistsShalla$blShalla/urls $dirBlackListSquidGuard$blShalla >> $logUpBlackLists
let counter=counter+1
done
echo $clockNow " - ANDAMENTO DAS PERMISSOES PARA SQUID NAS BLS DO SQUIDGUARD: " >> $logUpBlackLists
chown squid -R -v $dirBlackListSquidGuard >> $logUpBlackLists
echo $clockNow " - RECOMPILANDO AS DBS DO SQUIDGUARD: " >> $logUpBlackLists
echo `$squidGuardCreateDBs` >> $logUpBlackLists
echo $clockNow " - LIMPANDO DIRETORIO WORKS: " >> $logUpBlackLists
cd $dirWork && rm -rf ./
else
echo $clockNow ' - FALHOU DOWNLOAD DE UMA DAS BLS: ' >> $logUpBlackLists
fi
exit 0
Este comentário foi removido pelo autor.
ResponderExcluirComo faço para atualizar todo squid?
ResponderExcluirapt-get upgrade
ResponderExcluir