Personalizar mensagens de erro do Squid

Publicado por Mateus em 29/06/2009

[ Hits: 8.103 ]

Blog: http://mateusmachado.wordpress.com/

 


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.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Rádio FM na internet

Aria2 - Agilizando downloads em diversos protocolos

MPlayer - Rádios online via linha de comando

4shared.com - deseja salvar seus arquivos e programas?

Ativando modo de reescrita de URL (mod_rewrite) no Apache

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts