Dê uma olhada no augeas . Ele tem um parser / serializador pronto para o arquivo hosts (que é mesmo em seu guia rápido) e vem com uma ferramenta simples para fazer alterações (augtool).
Eu preciso alterar algumas hosts
entradas - por exemplo, há um desejo de atualizar hosts
para que active.vm
host corresponda ao IP da VM atualmente inicializada (com algum dispositivo de teste). O software convidado na VM relata o endereço da máquina de volta ao host, e eu preciso atualizar o / etc / hosts com base nessas informações - há sempre algum tempo para escrever outro daemon / cronjob, mas queria usar algo existente para corrigir hosts
entradas com um sintaxe idiota de hostname current_ip
.
Alguém me recomendou o pacote bind-tools
, mas - seu nsupdate
| host
não é adequado para a tarefa. ..
Upd: ainda procurando por algo do bind suite, mas pelo menos a regeneração dinâmica parece ser a melhor solução, e o augtool também é legal.
Upd: devido à minha preguiça, a regeneração dinâmica não está planejada para uso agora, então comecei a usar o augtool no cronjob, que lê os logs de acesso do servidor web para o IP mais recente - nas VMs que executam o Windows, toda a solução de monitoramento é apenas um webbrowser que carrega url específico da máquina host e tem um pequeno intervalo de recarga
Dê uma olhada no augeas . Ele tem um parser / serializador pronto para o arquivo hosts (que é mesmo em seu guia rápido) e vem com uma ferramenta simples para fazer alterações (augtool).
Prefiro não tocar em /etc/hosts
em termos de análise e tal. Eu simplesmente criaria /etc/hosts.d
para criar um script que leva:
cria um (1) arquivo com uma (1) linha. O nome do arquivo será <ip>.host
e, em seguida, cat /etc/hosts.d/*host > /tmp/hosts.new ** mv /tmp/hosts.new /etc/hosts
. Talvez adicione um evento de incron que observe o diretório /etc/hosts.d
e seja gerado sempre que algo acontecer, assim você também se livrará de entradas antigas.