Единственным путем я знаю для создания, что-то вроде этого работать должно изменить маршрут значения по умолчанию сервера CentOS. Это изменило бы интерфейс, Ваш трафик выходит и является видом вещи, которую необходимо проверить с системными администраторами и/или сетевыми администраторами.
на Вашем сервере CentOS:
netstat -rn
ищите место назначения, перечисленное как "значение по умолчанию", и отметьте связанный шлюз.
route add default gateway 11.22.33.34
добавит Ваш новый маршрут по умолчанию
route del -n default gateway < destination copied from above >
добавит Ваш новый шлюз по умолчанию
Я действительно рекомендую AutoMySQLBackup для ваших целей. Он покрывает ваши требования с некоторыми дополнительными функциями. Однако при удаленном резервном копировании проект предусматривает запуск инструмента на сервере резервного копирования и прямое чтение удаленной базы данных. Таким образом, не требуется FTP и т. Д.
Немного не хватает хорошей документации, но, с другой стороны, он действительно прост в использовании. AutoMySQLBackup дополнительно доступен в репозиториях Ubuntu.
Удачи :)
При просмотре исходного кода , есть несколько неожиданных моментов, на которые может повлиять выполнение одной команды или нескольких команд.
Сначала этот комментарий в dispatch.c
:
/*
* Wait for packets to come in using poll(). When a packet comes in,
* call receive_packet to receive the packet and possibly strip hardware
* addressing information from it, and then call through the
* bootp_packet_handler hook to try to do something with it.
*/
Похоже, что dhcrelay.c
использует архитектуру опроса . Здесь используется тайм-аут (основанный на времени) при опросе одного из интерфейсов (например: -i eth0 или -i eth1 ).
Казалось бы, это указывает на то, что существует некоторая вероятность блокировки для одного интерфейса, пока другой опрашивается.
Другой фрагмент, на этот раз в функции dispatch ()
, он опрашивает один из указанных интерфейсов:
/* Wait for a packet or a timeout... XXX */
count = poll(fds, nfds, to_msec);
После истечения времени ожидания функции опроса или получения пакета dhcrelay
] переходит к «следующему» интерфейсу:
/* Get the current time... */
time(&cur_time);
i = 0;
for (l = protocols; l; l = l->next) {
struct interface_info *ip = l->local;
if ((fds[i].revents & (POLLIN | POLLHUP))) {
fds[i].revents = 0;
if (ip && (l->handler != got_one ||
!ip->dead))
(*(l->handler))(l);
if (interfaces_invalidated)
break;
}
i++;
}
interfaces_invalidated = 0;
} while (1);
Обратите внимание, что вся отправка
содержит цикл while (1)
.
Я бы сказал, что если у вас интенсивно загруженная сеть с большим количеством хостов и аренда DHCP относительно коротка, тогда вы можете рассмотреть возможность запуска двух экземпляров dchrelay.
Если, однако, После этого я лично установил backuppc на другой сервер, который выполняет резервное копирование дампов файлов через rsync.
Если вам не нужен backuppc, вы можете создать другой сценарий, который запустится после завершения первого и просто скопирует созданный файлы в другое место. (если вам нужен пример этого сценария, просто скажите, какой способ вы можете предоставить - ssh, rsync, scp или (я не предпочитаю) - FTP
Самый простой способ, который я мог придумать, - это сделать что-то вроде следующего mysqldump [параметры mysqldump] | gzip -c | ssh user @ remotehost "cat>
, если это вас не устраивает, попробуйте объяснить, почему