Пайпинг с SSH и разбить файл

Я использую

tar zcf - stuff | ssh user@server 'cat > data.tar.gz'

Есть ли способ разбить файл при передаче?

Примерно так:

tar zcf - stuff | split -b 5G | ssh user@server 'cat > data-${part}.tar.gz'
3
задан 19 October 2015 в 11:49

1 ответ

Да, команда называется split .

tar czf - stuff | split -b 5G -d -f 'ssh server "cat >$FILE"'

Эта опция является новой в Ubuntu 12.04. В предыдущих версиях split можно разбивать только на файлы, но не на команды. Файлы могут быть названы конвейерами, но организация команд для чтения из конвейеров громоздка.

Без split -f более простой подход - забыть об использовании команды. Вместо этого смонтируйте удаленную файловую систему с помощью sshfs , чтобы вы могли писать в нее, как если бы это был локальный файл.

mkdir ~/net/server
sshfs user@server ~/net/server
tar czf - stuff | (cd ~/net/server && split -b 5G -d)
fusermount -u ~/net/server

Возможно, вас заинтересует правильное программное обеспечение для резервного копирования, такое как duplicity .

0
ответ дан 19 October 2015 в 11:49

Другие вопросы по тегам:

Похожие вопросы: