Изменение существующей записи маршрута в Linux

exit 1 завершится с кодом ошибки 1, а exit 0 завершится с кодом ошибки 0.

Например:

rsync -azvh /dir -e ssh usr@server.com:/
RESULT="$?"

# check result of rsync db's
if [ "$RESULT" != "0" ]; then
    echo -e "rsync exit Code:" $RESULT "\nFAILED to rsync backups"
    exit 0
else
    echo "SUCCESSFULL rsync of backups"
    exit 1
fi
10
24.11.2015, 19:59
2 ответа

(Объединение различных комментариев в ответ)

В настоящее время невозможно изменить метрику маршрута. В сообщении 2005 г. о состояниях LKML:

[...] The metric/priority cannot be changed because we do not have separate fields for the fields to match and the new values so if you specify a metric the entry simply won't be found and the request fails with ENOENT because NLM_F_CREATE is not specified. This is a limitation of the current protocol and it might be a good idea to to change this, however it's non trivial [...]

Похоже, это относится как к ip route change, так и кip route replace-первое приводит к ошибке для меня, а второе создает дополнительный маршрут, как рекламируется (его справочная страница гласит, что replaceзаменит или создать маршрут ). Это согласуется с тем, что ядро ​​отвечает ENOENT, а ip route replaceследует запросом на создание маршрута.


Таким образом, решение состоит в том, чтобы удалить существующий маршрут и добавить новый. например.

ip route del 40.2.2.0/24 via 30.1.2.2
ip route add 40.2.2.0/24 via 30.1.2.2 metric 1234
25
27.01.2020, 20:00

ifmetricпозволит вам изменять метрику вашего маршрута на лету, учитывая интерфейс, через который проходят маршруты, которые вы хотите изменить.

Использование

ifmetric <iface> [<metric>]

Например, используйте ifmetric tun0 12, чтобы изменить метрику на 12 для всех маршрутов, проходящих через tun0.

14
27.01.2020, 20:00

Теги

Похожие вопросы