Копирование директорий на удалённый сервер используя tar, ssh, cat или dd

Бывает так, что необходимо быстро и одним действием скопировать или заархивировать какую либо директорию на удалённый (соседний) сервер.

Существует несколько способов это сделать, принцип у них схож, а различаются они только тем или иным подручным материалом (наличие или отсутствие чего либо)

1. Архивирование директории на удалённый сервер.
С использованием cat:
tar zcvfp - /home/user/sourcedir | ssh user@remote_host "cat > ~/from_somehost.tar.gz"
С использованием dd:
tar zcvfp - /home/user/sourcedir | ssh user@remote_host "dd of=~/from_somehost.tar.gz"

2. Архивирование с удалённой машины на локальную:
С использованием cat:
ssh user@remote_host "tar zcvfp - /home/user/sourcedir" |cat > ~/from_somehost.tar.gz
С использованием dd:
ssh user@remote_host "tar zcvfp - /home/user/sourcedir" |dd of=~/from_somehost.tar.gz

3. Ну и напоследок - распаковка удалённого архива на локальную машину.
ssh user@remote_host "cat /home/user/from_somehost.tar.gz" |tar xvfp -

Остальное придумывать лень. Различная комбинация tar, ssh, cat или dd и пайпов сделает своё дело как надо.