Поток байт с FreeBSD сохранить на Windows
May. 1st, 2019 02:10 pmКогда mount_smbfs стал окончательно бесполезен после повсеместного выключения SMBv1, встал вопрос о том, как сохранять на Windows-файлсервере резервные копии FreeBSD без создания временных файлов на самой FreeBSD (для последующей передачи по FTP и т.п.)
Посоветовали поставить OpenSSH на Windows, он заработал, появилась возможность делать SSH/SCP с FreeBSD на Windows, даже с аутентификацией по ключу. Однако чем на стороне Windows поймать вывод "zfs send" или "dump -f -" и сохранить в файл, оставалось по-прежнему неясным.
Решение было найдено неожиданное. Архиватор 7-Zip умеет работать в потоковом режиме, в том числе его виндовая реализация. Поэтому делаю так:
Заодно 7-Zip его немного сжимает.
Посоветовали поставить OpenSSH на Windows, он заработал, появилась возможность делать SSH/SCP с FreeBSD на Windows, даже с аутентификацией по ключу. Однако чем на стороне Windows поймать вывод "zfs send" или "dump -f -" и сохранить в файл, оставалось по-прежнему неясным.
Решение было найдено неожиданное. Архиватор 7-Zip умеет работать в потоковом режиме, в том числе его виндовая реализация. Поэтому делаю так:
zfs send XXX@weekly-2019-14 | ssh winserver "7z a -si b:\backup\XXX-weekly-2019-14.7z"
Заодно 7-Zip его немного сжимает.
no subject
Date: 2019-05-01 12:49 pm (UTC)во-вторых, фтп запросто поддерживает потоковый аплоад. без создания временных файлов конечно же:
echo 'blah' | curl -T - ftp://user:password@host.ru/upload/blah.txt
как-то так…
no subject
Date: 2019-05-01 12:56 pm (UTC)Самба-то в портах/пакетах есть, но mount_smbfs в них нету, смонтировать нечем:
https://termbin.com/pqbr А в базовой системе есть mount_smbfs, не не поддерживает SMBv2 и выше (и он не использует самбу из портов/пакетов).
О, прикольно, не знал. Может пригодится, спасибо. Мало сталкивался с curl.
no subject
Date: 2019-05-01 01:03 pm (UTC)echo 'blah' | smbclient //server/sharename -c 'cd /upload/;put - blah.txt'
:)
no subject
Date: 2019-05-01 01:47 pm (UTC)Пока по-моему из 3 предложенных вариантов мой лучший:
1. Не требует установки никаких дополнительных пакетов на FreeBSD (самба вообще тянет очень много зависимостей, ставить её только ради отправки файлов на Windows - явный перебор. У curl - всего 2 зависимости, т.е. ещё ладно).
2. Не требует установки почти никакого дополнительного софта на Windows (ssh в современных Windows является стандантным компонентом). Только 7-Zip, но он как правило и так есть. Чтобы из Windows сделать FTP сервер - это надо IIS, что ли?
3. Не передает паролей по сети, в отличие от способа с curl/FTP.
4. 7-Zip на удалённой стороне рапортует об успешном создании архива и получившемся размере.
no subject
Date: 2019-05-01 01:57 pm (UTC)no subject
Date: 2019-05-01 02:03 pm (UTC)