HOSTIP=`host $HOST | grep "has address" | cut --delimiter=" " -f 4` SERVERIP=`host $SERVER | grep "has address" | cut --delimiter=" " -f 4`
Я понятия не имею, что вы думаете, что это делает, но вы должны удалить эти строки и просто использовать $ HOST и $ SERVER напрямую.
Проблема в том, что в течение очень короткой секунды я вижу что-то вспыхивающее по линии «Соединение отказано» (до того как pv перезаписывает его), и ни один файл никогда не передается. Порт пересылается через мой маршрутизатор, и nmap подтверждает это: ~ $ sudo nmap -sU -PN -p55515 -v [...] СЕРВИС ПОРТОВ СОСТОЯНИЯ 55515 / udp открыт | отфильтрован неизвестно
Вы сказали это сделать сканирование UDP. Почему ты это сделал? Вы не используете netcat в режиме udp, и это даже не имеет смысла для передачи файлов.
Кроме того, запуск netcat обычно тоже не работает: squircle @ summit: ~ $ netcat 55515 [] 55515 (?): Соединение отказано
Вы неправильно перенаправляете порт.
Во всяком случае, весь этот сценарий несовершенен с самого начала. Просто используйте scp или rsync. Если вы настаиваете на использовании lzma, передайте tar + lzma через ssh. Использование netcat в этой ситуации абсолютно ничего не покупает.