Разделение вывода ssldump на несколько файлов для каждого входящего соединения

Еще лучше, потому что более чисто, использовать префиксную нотацию (без set) для команды, которую вы хотите вызвать:

CLASSPATH=/path/mysql-connector-java-ver-bin.jar:$CLASSPATH ANOTHER_VAR=bla ATHIRD_VAR=blu java -...

Теперь вызываемый вами процесс java сможет собрать ваши временные переменные окружения CLASSPATH, ANOTHER_VAR и ATHIRD_VAR.

Если вы использовали export, то переменные также будут установлены глобально(?), по крайней мере, в окружении скрипта. И значения переменных, которые уже существовали, будут перезаписаны новыми значениями.

Преимущества префиксной нотации:

  • предыдущие значения переменной должны оставаться неизменными, т.е. в случае, если старые значения понадобятся позже, то нет необходимости сохранять старые значения переменных, которые уже существовали, чтобы восстановить их после вызова
  • нет необходимости снимать ваши временные переменные для очистки после вызова
0
17.04.2019, 23:25
1 ответ

Вы можете использовать csplitдля разделения на отдельные файлы.

sudo ssldump -i enp0s8 -a -A -H -n -x | csplit - '/^New TCP connection/'

Это разделит ввод на 100 файлов с именами от xx00до xx99.

Вы можете установить префикс (по умолчаниюxx)на что-то другое, используя опцию --prefix=somethingelse.

Количество цифр, используемых для подсчета файлов (по умолчанию 2 ), можно установить с помощью --digits=X.

Вам может понадобиться использовать опцию --keep-files, если csplitудаляет сгенерированные файлы, когда вы останавливаете процесс (это может интерпретировать прерывание как сбой ).

1
28.01.2020, 02:40

Теги

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