Мне нужно кое-что изменить hosts
записи - например, есть желание обновить hosts
иметь active.vm
host соответствует IP-адресу загруженной в данный момент виртуальной машины (с некоторым тестовым устройством). Гостевое программное обеспечение в виртуальной машине сообщает адрес машины обратно на хост, и мне нужно обновить / etc / hosts на основе этой информации - всегда есть время для написания другого daemon / cronjob, но я хотел использовать что-то существующее для исправления hosts
записи с тупым синтаксисом hostname current_ip
.
Кто-то порекомендовал мне bind-tools
пакет, но - его nsupdate
|host
совершенно не подходят для этой задачи. ..
Upd: все еще ищу что-то из набора связывания, но, по крайней мере, динамическая регенерация кажется лучшим решением, и augtool тоже хорош.
Upd: из-за моей лени динамическую регенерацию сейчас не планируется использовать, поэтому начал использовать augtool в cronjob, который читает журналы доступа веб-сервера для последнего IP-адреса - на виртуальных машинах, работающих под управлением Windows, все решение для мониторинга - это просто загружаемый веб-браузер конкретный URL-адрес с хост-машины и имеет небольшой интервал перезагрузки
Я бы предпочел не трогать /etc/hosts
в плане парсинга и тому подобного. Я бы просто создал /etc/hosts.d
составить сценарий, который требует:
создает один (1) файл с одной (1) строкой. Имя файла будет <ip>.host
а потом cat /etc/hosts.d/*host > /tmp/hosts.new ** mv /tmp/hosts.new /etc/hosts
. Может быть, добавить событие incron, которое смотрит /etc/hosts.d
каталог и восстанавливается всякий раз, когда что-то происходит, таким образом вы также избавитесь от старых записей.
Взгляни на Augeas. У него есть готовый парсер / сериализатор для файла hosts (это даже в их кратком руководстве) и поставляется с простым инструментом для внесения изменений (augtool).