На Machine1 у меня есть скрипт Python2.7, который вычисляет большую (до 10 МБ) двоичную строку в оперативной памяти, которую я хотел бы записать в файл на диске на Machine2, который является удаленным компьютером. Как лучше всего это сделать?
Ограничения:
На обеих машинах установлена Ubuntu 13.04. Соединение между ними быстрое — они находятся в одной сети.
Каталог назначения может еще не существовать на Machine2, поэтому его, возможно, придется создать .
Если нетрудно, я бы не хотел записывать строку из ОЗУ во временный файл на диске на Machine1. Устраняет ли это решения, которые могут использовать системный вызов rsync?
Поскольку строка является двоичной, она может содержать байты, которые можно интерпретировать как новую строку. Казалось бы, это исключает решения, которые могут использовать системный вызов команды echo на Machine2.
Мне бы хотелось, чтобы это было как можно проще на Machine2. . Таким образом, я хотел бы избежать запуска таких служб, как ftp, на Machine2 или выполнения других действий по настройке там. Кроме того, я не очень хорошо разбираюсь в безопасности и поэтому хотел бы избегать открытия дополнительных портов без крайней необходимости.
У меня настроены ssh-ключи на Machine1 и Machine2, и хотел бы использовать их для аутентификации.
EDIT: Machine1 выполняет несколько потоков, поэтому возможно, что несколько потоков могут попытаться для записи в один и тот же файл на Machine2 в перекрывающееся время. Я не возражаю против неэффективности, вызванной двойной (или более) записью файла в этом случае, но результирующий файл данных на Машине2 не должен быть поврежден одновременными операциями записи. Может быть, необходима блокировка ОС на Machine2?
Я болею за решение rsync, поскольку оно является самостоятельным -содержащийся объект, который я достаточно хорошо понимаю и не требует настройки на Machine2.
На Machine1 у меня есть скрипт Python2.7, который вычисляет большую (до 10 МБ) двоичную строку в оперативной памяти, которую я хотел бы записать в файл на диске на Machine2, который является удаленным компьютером. Как лучше всего это сделать?
Ограничения:
[list] [*]На обеих машинах установлена Ubuntu 13.04. Соединение между ними быстрое — они находятся в одной сети. [*]Каталог назначения может еще не существовать на Machine2, поэтому его, возможно, придется создать . [*]Если нетрудно, я бы не хотел записывать строку из ОЗУ во временный файл на диске на Machine1. Устраняет ли это решения, которые могут использовать системный вызов rsync? [*]Поскольку строка является двоичной, она может содержать байты, которые можно интерпретировать как новую строку. Казалось бы, это исключает решения, которые могут использовать системный вызов команды echo на Machine2. [*]Мне бы хотелось, чтобы это было как можно проще на Machine2. . Таким образом, я хотел бы избежать запуска таких служб, как ftp, на Machine2 или выполнения других действий по настройке там. Кроме того, я не очень хорошо разбираюсь в безопасности и поэтому хотел бы избегать открытия дополнительных портов без крайней необходимости. [*]У меня настроены ssh-ключи на Machine1 и Machine2, и хотел бы использовать их для аутентификации. [*]EDIT: Machine1 выполняет несколько потоков, поэтому возможно, что несколько потоков могут попытаться для записи в один и тот же файл на Machine2 в перекрывающееся время. Я не возражаю против неэффективности, вызванной двойной (или более) записью файла в этом случае, но результирующий файл данных на Машине2 не должен быть поврежден одновременными операциями записи. Может быть, необходима блокировка ОС на Machine2? [/list]
Я болею за решение rsync, поскольку оно является самостоятельным -содержащийся объект, который я достаточно хорошо понимаю и не требует настройки на Machine2.