Примечание:улучшенное решение опубликовано в дублирующем вопросе
Из прочитанного Как получить доступ к временному файлу сразу после его создания? Мне пришла в голову идея использовать inotify
и создать жесткую -ссылку на сам файл. Это, конечно, состояние гонки, так как файл может быть отключен до создания жесткой ссылки, однако мне удалось восстановить данные во временном файле, который создает приложение. Вот короткий конвейер, собранный на вкладке терминала A, с вкладкой терминала B, выполняющей реальную команду:
inotifywait -m -r /tmp/hsperfdata_xie/ 2>&1 |
while IFS= read -r line; do
awk '$2 == "CREATE"{system("ln /tmp/hsperfdata_xie/"$3" /tmp/BACKUP")}' <<< "$line"
echo "$line" # unnecessary, only if you want to know what's inotify is writing
done
3 недостатка::
awk
для одного конкретного файла; но более общая и гибкая awk
команда, которая анализирует inotifywatch
вывод и объединяет пути $1
с именами файлов в $3
, потребовала бы немного времени, чтобы проанализировать строки, sprintf()
все в переменную и передать к system()
, который может вернуться к предыдущему пункту маркера -к моменту завершения синтаксического анализа, нет файла для ссылки. inotify
модули Python (, что, возможно, я и сделаю в будущем ). Что касается рассматриваемого файла, то он выглядит как некоторая форма двоичных данных с повторяющимися 0...sun.rt._sync_Inflations
и 0...sun.rt._sync_Deflations
строками (, которые могут быть связаны с многопоточностью Java). Но для целей этого вопроса это не имеет значения, -что мы уже имеем. Единственное, что я хотел, это получить сам файл.
Для дистрибутивов на основе RPM -вам потребуется установить пакет compat-openssl10
.
Если по какой-либо причине использование более старой версии OpenSSL невозможно, вы можете рассмотреть возможность использования LibreSSL , которая была создана из OpenSSL 1.0 (, и не было планов по обновлению до OpenSSL 1.1.x API., AFAIK ), поэтому API должен быть совместим. Что касается безопасности, вы получите библиотеку, которая была проверена и усилена, поэтому вероятность нежелательного поведения (меньше самой библиотеки SSL ).