Для минимальной настройки CLI на основе Debian -я бы рассмотрел либо минимальную сетевую установку (netinst )образ Debian, либо сервер Ubuntu, который представляет собой версию дистрибутива с командной -строкой с некоторыми включены общие серверные пакеты.
Образ netinst Debian устанавливает минимальную систему и позволяет вам самостоятельно устанавливать больше пакетов по сети. Образ Ubuntu Server будет включать больше пакетов, включенных в установку по умолчанию, поэтому он менее минимален, но, вероятно, его установка займет меньше времени в зависимости от того, что вы делаете. В обоих случаях вам просто нужно включить sshd и любые другие службы или пакеты, необходимые для вашего программного обеспечения.
Конечно, вы можете использовать sshfs
. Предполагая, что вы уже правильно настроили sftp
в том направлении, в котором вы хотели бы отправлять эти файлы, вы можете сопоставить локальный каталог с вашим удаленным сервером следующим образом.
$ mkdir remote
$ sshfs user@server:/path/to/dir remote
Затем вы можете настроить свою команду для записи разделенных файлов в сопоставленный каталог.
$ tar -czpv mydir | split -d -a 4 -b $SplitBlockSize - remote/mydir.gz.tar
В вашем случае, я думаю, лучшим решением будет использование опции --filter
с split
. Со страницы man
документаsplit
-
--filter=COMMAND
write to shell COMMAND; file name is $FILE
Вот так
$ tar -czpv mydir | split -d -a 4 -b $SplitBlockSize --filter 'ssh user@remote "cat >$FILE"' - mydir.gz.tar
запишет файлы непосредственно через ssh
на ваш удаленный сервер. Я бы посоветовал вам настроить аутентификацию с открытым ключом, если вы еще этого не сделали, иначе вам придется вводить пароль для каждого передаваемого файла. В вашем случае это будет 64 раза на ТБ. Если вы ожидаете, что этот перенос займет очень много времени, рассмотрите возможность использования nohup
, чтобы уменьшить вероятность того, что вам придется начинать все сначала.