Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Скопіювати дерево проекту на інший сервер по трубі

leave a comment »

Власне я робив так:

scp -r path/to/source/tree login@host:/path/to/destination/folder

Water valves with spigots

Але потім виявив що scp ходить за символьними посиланнями і копіює все також і там. Від чого іноді зациклюється…

Тому на просторах інтернету мені підказали ідею послати файли через трубу.

Найперша команда – бере вміст директорії, стискає, і посилає стиснені дані в стандартний вивід:

tar czf - path/to/source/tree

І навпаки – прийняти стиснуті дані з stdout і розпакувати їх в поточну директорію.

tar xvzf -

(При цьому директорія tree створиться, якщо дані пакувались з неї.)

Ну і:

ssh login@host "some; commands"

Виконує інші команди на віддаленому сервері. При цьому може приймати щось з stdout, через трубу. Таким чином ця труба веде з сервера на сервер…

І якщо зібрати все до купи:

tar czf - path/to/source/tree | ssh login@host "cd /path/to/destination/folder; tar xvzf -"

Єдина з цим всім проблема – колись таки доведеться вивчити ті всі ключі до tar. 🙂

Advertisements

Written by bunyk

Грудень 30, 2013 at 19:28

Оприлюднено в Інструменти, Кодерство

Tagged with

Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: