Pular para o conteúdo

Personalizar mensagens de erro do Squid

Dica publicada em Linux / Internet
Mateus mtarcinalli
Hits: 9.241 Categoria: Linux Subcategoria: Internet
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Personalizar mensagens de erro do Squid

Estava querendo personalizar os arquivos com as mensagens de erro do Squid, colocando o logo da empresa nas mensagens. Resolvi o problema com o find + sed:

# find . -type f | while read NOME; do NOVO=`echo "$NOME"1`; sed '/<BODY>.*$/a Viva o Linux' $NOME > $NOVO; mv $NOVO $NOME; done

O que faz cada comando?

find . -type f:

Localizará os arquivos do diretório, você deverá executar esse script no diretório /usr/local/squid/share/errors/Portuguese (ou qualquer outro diretório onde se encontre suas mensagens de erro).

while read NOME; do

Armazenará na variável NOME o nome de cada arquivo encontrado.

NOVO=`echo "$NOME"1`;

Armazenará o nome do arquivo seguido do número 1, será um arquivo temporário a ser utilizado pelo sed.

sed '/<BODY>.*$/a Viva o Linux<hr>' $NOME > $NOVO;

Localizará o texto "<BODY>" e cada vez que localizar, irá adicionar "Viva o Linux<hr>". Isso será feito com o arquivo de nome $NOME e enviado para o arquivo $NOVO

mv $NOVO $NOME;

Para substituir o arquivo antigo pelo gerado através do sed.

done

Para finalizar o while.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Nenhuma dica encontrada.

3DSP Wireless Driver no notebook Microboard Ultimate Black - 64bits

Recuperando o Grub

Curso de Introdução ao GNU/Linux - Linux Foundation

Conexão Wireless na Avenida Brasil - Rio de Janeiro - com o Ubuntu

Enviando fórmulas em Latex pelo aMSN

#1 Comentário enviado por davidsonpaulo em 30/06/2009 - 08:40h
Salve Mateus,

Só pra acrescentar, isso pode ser feito com apenas um comando, a saber:

# find -type f -exec sed -i '/<BODY>.*$/a Viva o Linux<hr>' {} \;

Um abraço.
#2 Comentário enviado por davidsonpaulo em 30/06/2009 - 08:44h
Opa, o comando que postei no primeiro comentário estava com alguns erros, mas já corrigi. :-)

Aproveitando, segue a explicação do comando acima.

A opção -exec é usada para que o find execute uma operação em todos os arquivos/diretórios encontrados durante a busca.

A opção -i do sed serve para fazer a alteração no próprio arquivo, dessa forma não é necessário gerar um arquivo temporário e depois substituir o original.

As duas chaves {} representam o arquivo encontrado pelo find.

Para terminar, o \; é um parâmetro obrigatório para indicar que o comando relacionado ao parâmetro -exec chegou ao fim.

Contribuir com comentário

Entre na sua conta para comentar.