Сегодня поделюсь с вами альтернативным способом копирования между хостами, когда SCP недоступен или файлы лежат в приватной сети.
▪️ Отправка каталога по SSH
На источнике:
tar cz dir_to_copy \
| base64 \
| ssh user@remote "base64 -d | tar xz"
dir_to_copy упаковывается в tar.gz, кодируется base64, передается по SSH и на удаленном хосте раскодируется и распаковывается.▪️ Копирование через буфер (без SCP и SSH)
На источнике:
tar cz myfile.txt | base64
Копируем вывод в буфер и затем на приемнике:
base64 -d | tar xz
Вставляем скопированное содержимое и файл восстановится
Работает даже там, где SCP недоступен.
▪️ Обмен папками между хостами без сети
Через tmux buffer или screen можно передавать данные вообще без файлов и SSH, просто через терминал. Пример в tmux:
На сервере А:
tar cz project | base64 | tmux load-buffer -
На сервере Б:
tmux save-buffer - | base64 -d | tar xz
🌟 Для больших архивов можно добавить pv и тогда будет видно прогресс:
tar cz bigdir | pv | base64 | ssh host "base64 -d | tar xz"
BashTex 📱 #bash #utils