Не удалось скопировать файл сокета /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/