Не удалось скопировать файл сокета /inode

У меня есть файл с именем 'live' в Ubuntu, это файл типа сокета /inode. Этот файл имеет разрешение как

srw-rw-r-- live

Я хочу создать копию файла.

Я не могу скопировать его с помощью команды cp из терминала.

Пожалуйста, кто-нибудь сказать мне, как скопировать этот файл или как создать новый файл сокета /inode в Ubuntu.

Этот файл используется в консоли мониторинга check_mk.

Спасибо....

2 ответа

Решение

Unix-сокет - это не "файл", как вы думаете.

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

Думайте о файле сокета как о "окне" в приложении, и данные, которые содержит это окно, будут меняться при запуске приложения.

Если вы хотите посмотреть, что происходит в этом сокете, вы можете использовать socat перехватить поток данных в режиме реального времени. Например:

https://stackoverflow.com/questions/16045046/how-to-fork-transferred-data-to-a-script-with-socat

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

Машина А

cp -rf /dev/SRC shared_directory

Машина Б

cp -rf shared_directory /dev/
Другие вопросы по тегам