Я пытаюсь быстро скопировать некоторые большие каталоги с моего удаленного сервера Debian 9 на локальный Debian 9 на WSL (подсистема Windows для Linux; Windows 10 Pro) с помощью ssh "tar" | tar
труба.
ssh user@example.com "cd /path/to/resource && tar czf - resource1 resource2" | tar xzvf -
Когда я запускаю эту команду, я получаю сообщения об ошибках
gzip: stdin: не в формате gzip
tar: Ребенок умер с сигналом 13
tar: Ошибка не исправима: выход сейчас
Если я сделаю то же самое без z
параметр
ssh user@example.com "cd /path/to/resource && tar cf - resource1 resource2" | tar xvf -
Я получаю эти ошибки:
tar: это не похоже на архив tar
tar: переход к следующему заголовку
без подсказки.
Я запускал эту команду несколько раз раньше на другом оборудовании, и в этом конкретном случае я просто повторно запустил эту команду из моей bash_history несколько дней назад. Тогда он запускался, но сейчас не работает.
Если я использую scp
вместо этого с включенным сжатием (что будет намного медленнее)
scp -rC user@example.com:/path/to/resource/resource1 .
Я получаю такую ошибку:
ошибка протокола: mtime.sec отсутствует
Что я могу сделать, чтобы это работало?
версия tar
Локальный: tar (GNU tar) 1.29
Удаленный: tar (GNU tar) 1.29
версия bash
Локально: GNU bash, версия 4.4.12 (1) -release (x86_64-pc-linux-gnu)
Удаленный: GNU bash, версия 4.4.12 (1) -release (x86_64-pc-linux-gnu)
Версия для Linux (cat / proc / version)
Локально: Linux версии 4.4.0-17134-Microsoft (Microsoft@Microsoft.com) (gcc версии 5.4.0 (GCC)) # 523-Microsoft Mon Dec 31 17:49:00 PST 2018
Удаленный: Linux версии 4.9.0-5-amd64 (debian-kernel@lists.debian.org) (gcc версия 6.3.0 20170516 (Debian 6.3.0-18)) # 1 SMP Debian 4.9.65-3 + deb9u2 ( 2018-01-04)
Это была ошибка на удаленном сервере. Для какой-то программы, которую я там запускаю (tig), мне нужен xterm 256 цветов, и я установил его этим скриптом. Установил только недавно.
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
echo TERM set to 256 colors
elif [ -e /usr/share/terminfo/x/xterm+256color ]; then
export TERM='xterm-256color'
echo TERM set to 256 colors
else
export TERM='xterm-color'
echo TERM set to color
fi
Мне нужно было избавиться от эха, и он снова работает
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
elif [ -e /usr/share/terminfo/x/xterm+256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
Благодаря Джеральд Шнайдер для подсказки
Обратите внимание на наглостькомментарий ниже