Manutenção de Endereços
Publicado por Robson Soares Nunes Júnior 18/10/2005
[ Hits: 6.043 ]
Script criado para administração de uma lista de sites permitidos utilizada pelo SQUID na empresa onde trabalho. Simples, porém útil quando a idéia é tornar a rotina um pouco mais prática.
OBS: Crie uma lista de endereços chamada limitado para que tudo funcione corretamente.
#!/bin/sh
# FUNÇÃO PARA CADASTRAR
cadastro ( ) {
clear
echo "Entre com o endereco a ser adicionado: "; read site
if [ -z $site ]; then
clear
printf '\a'
echo "Por favor, digite um endereço."
read a
cadastro
else
echo "O site a ser incluído é: $site"
printf '\a'
echo "Confirma inclusão? "; read confirma
if [ $confirma = "s" ]; then
cat limitado | grep "."$site
case $? in
1) echo "."$site >> limitado ; echo "Site incluído!" ;;
0) printf '\a'; echo "Site já existe na lista!" ;;
esac
fi
if [ $confirma = "n" ]; then
printf '\a'
echo "Inclusão cancelada!"
fi
sleep 1
clear
fi
}
# FUNÇÃO EXCLUIR
excluir ( ) {
clear
cp limitado limitado.bkp
echo "Digite o site a ser excluído: "; read excluido
if [ -z $excluido ]; then
clear
printf '\a'
echo "Por favor, digite um endereço."
read a
excluir
else
echo "O(s) site(s) a ser(erem) excluído(s) é(são): "
for excl in `cat limitado | grep $excluido`
do
echo $excl
printf '\a'
echo "Confirma exclusão?"; read confirma2
case $confirma2 in
s) cat limitado | grep -v -w $excl > limitado ;;
n) printf '\a'; echo "Exclusão cancelada!" ; read a ;;
esac
done
fi
}
# FUNÇÃO LISTAR
listar ( ) {
clear
more limitado;
read a
}
# FUNÇÃO BUSCAR
buscar ( ) {
clear
echo "Digite o endereço a ser pesquisado: "; read ender
if [ -z $ender ]; then
clear
printf '\a'
echo "Por favor, digite um endereço."
read a
buscar
else
echo ""
echo "Resultados da busca: "
cat limitado | grep $ender
read a
fi
}
# REINICIANDO SQUID
reconfig ( ) {
clear
squid -k reconfigure
printf '\a'
echo "Reiniciando Squid";
sleep 1;
echo "Squid reiniciado!";
sleep 2;
clear
}
# RESTAURAR BACKUP
restaura ( ) {
clear
echo "Restaurando backup!"
cp limitado.bkp limitado
sleep 1
printf '\a'
echo "Backup restaurado!"
sleep 1
}
# FECHANDO SCRIPT
saida ( ) {
echo ""
echo ""
echo ""
echo ""
echo ""
echo ""
echo " ################################################################"
echo " # #"
echo " # SCRIPT DESENVOLVIDO POR ROBSON SOARES (SMUGGLE) #"
echo " # #"
echo " # Agradecimentos: Lucas Carvalho #"
echo " # #"
echo " ################################################################"
sleep 2
clear
exit
}
# MENU
while [ $opcao!=7 ]; do
clear
for usuario in `whoami`
do
if [ $usuario = "root" ]; then
echo "###################### ADMINISTRAÇÃO DE URLS AUTORIZADAS ######################"
echo ""
echo " 1 - Cadastrar"
echo " 2 - Excluir"
echo " 3 - Listar"
echo " 4 - Buscar"
echo " 5 - Reiniciar Squid"
echo " 6 - Restaurar backup"
echo " 7 - Sair"
read opcao;
case $opcao in
7) saida ;;
6) restaura ;;
5) reconfig ;;
4) buscar ;;
3) listar ;;
2) excluir ;;
1) cadastro ;;
*) echo " Opção inválida"; read a;;
esac
fi
if [ $usuario != "root" ]; then
printf '\a'
echo "Esse script deve ser executado como root!";
read a
exit
fi
done
done
OH MY ALIAS - Crie seu alias facilmente
Backup das bases de dados do MySQL
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Como programar um sistema de controle para distribuições linux em c? (0)
Compartilhar ZEBRA ZD220 na rede (2)
Como programar um software que seja utilizado para coleta de dados em ... (1)









