/ etc / hosts не підтримує круглу роботу, але ви можете написати простий скрипт bash, щоб sed замінити запис з тегом #RoundRobin коментарем (або будь-яким іншим тегом, який ви хочете використовувати, просто відобразіть його у рядку grep у сценарії) .
#!/bin/bash
fqdnips=( $(nslookup sub.domain.com|grep Address:|awk -F\ '{ print $2 }'|grep -v '#') )
new=`printf "${fqdnips[@]}"`
old=`grep "#RoundRobin" /etc/hosts|awk -F\ '{ print $1 }'`
sed -i "s/$old/$new/g" /etc/hosts
Наведений вище сценарій захоплює вихід nslookup для sub.domain.com і зберігає його в масиві. Потім він виводить найвище значення в $ new і захоплює існуюче значення для тега #RoundRobin, призначеного в / etc / hosts ... нарешті, він виконує заміну sed
/ etc / hosts файл буде виглядати приблизно так
127.0.0.1 localhost
::1 localhost
11.12.13.14 sub.domain.com #RoundRobin
Нарешті, помістіть цей скрипт у коронну версію кореня, щоб він працював щогодини або близько того, і тепер у вас з'явиться / etc / host круглобітка.
Це особливо корисно, якщо у вас є кодована сторінка, яка витягує деякі дані з API, і пошук DNS для сервера API спричиняє багато часу зависання при виконанні сценарію сторінки ... внаслідок чого витрачається багато процесора для того, що б інакше видаються простою сторінкою. Щоб уникнути дорогого пошуку DNS (особливо, якщо ваш сайт проводить сотні з них в хвилину з великим трафіком), вам слід використовувати / etc / hosts для вирішення FQDN віддаленого сервера API. Це значно зменшить використання процесора для витягування даних API та створення сторінки.