Как архивировать и передавать данные одновременно (без записи на диск)?

12
O
На сайте с 18.08.2013
Offline
3
1385

На диске виртуального сервера очень мало места. Не хватает, чтобы делать бэкапы, даже единичные.

Подскажите - как одновременно и архивировать (через tar) и передавать данные например по SSH. Передавать нужно 150 ГБ.

DV
На сайте с 01.05.2010
Offline
644
#1

Попробуйте так

tar -cf - mydir/ | bzip2 | ssh user@host -p 22 dd of=/path/to/backup.tar.bz2

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
O
На сайте с 18.08.2013
Offline
3
#2
DenisVS:
Попробуйте так
tar -cf - mydir/ | bzip2 | ssh user@host -p 22 dd of=/path/to/backup.tar.bz2

А зачем через bzip2, если у tar есть опция -z? bzip2 лучше сжимает?

DV
На сайте с 01.05.2010
Offline
644
#3
bzip2 лучше сжимает?

Ну вроде того. Хотите, по-другому сделайте, я привёл то, что заработало у меня.

O
На сайте с 18.08.2013
Offline
3
#4
DenisVS:
Ну вроде того. Хотите, по-другому сделайте, я привёл то, что заработало у меня.

Спасибо, вроде работает.

DV
На сайте с 01.05.2010
Offline
644
#5

Попробовал tar и с j, и с z, получается битый архив. Видно, компрессированный tar в stdout какую-то грязь выдаёт. Значит, только конвейром.

O
На сайте с 18.08.2013
Offline
3
#6
DenisVS:
Попробовал tar и с j, и с z, получается битый архив. Видно, компрессированный tar в stdout какую-то грязь выдаёт. Значит, только конвейром.

Как определяете? Разархивировался нормально, но размер файлов больше на 3 мб.

Что такое конвейр?

DV
На сайте с 01.05.2010
Offline
644
#7
Ononas:
Как определяете?

mc ошибку даёт. tar может и распакует, но неправильно это, отход от стандарта.

Ononas:
Что такое конвейр?

пайп, или |, т.е. вывод одной команды на вход другой.

O
На сайте с 18.08.2013
Offline
3
#8
DenisVS:
пайп, или |, т.е. вывод одной команды на вход другой.

А как такое сделать для этой задачи?

DV
На сайте с 01.05.2010
Offline
644
#9
Ononas:
А как такое сделать для этой задачи?

Вот же оно.

DenisVS:
tar -cf - mydir/ | bzip2 | ssh user@host -p 22 dd of=/path/to/backup.tar.bz2

Тут через в пайпе bzip2 или gzip, сам tar просто в кучу всё собирает и выводит в stdout.

N
На сайте с 06.05.2007
Offline
419
#10
DenisVS:
Попробовал tar и с j, и с z, получается битый архив. Видно, компрессированный tar в stdout какую-то грязь выдаёт. Значит, только конвейром.

это не нормально. tar -cz работает.

Кнопка вызова админа ()
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий