Назад | Перейти на главную страницу

подробный вывод для команды ip xfrm?

У меня есть скрипт для strongswan, который добавляет такие политики: ip xfrm policy add dir in src $PLUTO_PEER_CLIENT dst 0.0.0.0/0 proto any varl src $PLUTO_PEER dst $PLUTO_ME proto esp mode tunnel reqid $PLUTO_REQID level required priority 1500 mark 0xfffe

Я хочу записать вывод этой команды в файл журнала, но, похоже, нет вывода или подробного переключателя?

это мне ничего не дает: ip xfrm policy add dir in src $PLUTO_PEER_CLIENT dst 0.0.0.0/0 proto any varl src $PLUTO_PEER dst $PLUTO_ME proto esp mode tunnel reqid $PLUTO_REQID level required priority 1500 mark 0xfffe >> /var/log/mylog.log

iproute2 не генерирует никаких выходных данных для изменения команд (например, add или del), если что-то не так с аргументами или ядром (например, в разрешении отказано). В этом случае сообщение об ошибке записывается на stderr (чтобы запечатлеть это, вам нужно будет добавить 2>>&1 к вашей команде или напрямую перенаправить stderr в файл журнала, даже не изменяя stdout).

Вы можете легко проверить, была ли команда успешной, через статус выхода ($? или через || <whatever should happen if the command fails> после команды), поскольку это задокументировано как 0 в случае успеха и 1 или 2 в случае неудачи (см. man ip подробнее).

И для регистрации / просмотра выполненной команды вы, вероятно, могли бы просто полагаться на оболочку (см., Например, этот вопрос на stackoverflow.com) или, например, оберните команду так, чтобы она сначала отображалась в журнале, а затем выполнялась.