Если вы можете scp
, вы, вероятно, можете запустить cat
после ssh
.
sudo dd if=/dev/sda bs=4M | ssh -p 12344 potato@10.10.45.44 'cat > /volume2/share02/01.dd'
Это может быть проблематично, если sudo
и ssh
запрашивают ваши пароли. В этом случае заставьте этот вызов sudo
запускаться без пароля (sudo true
может быть достаточно перед тем); или sudo su -
заранее, так что вы root и не нуждаетесь в sudo
перед dd
; или ssh
не требовать пароль (используйте аутентификацию на основе ключей).
dd
пишет в свой стандартный вывод, ssh
принимает его и передает удаленному cat
, его вывод перенаправляется в /volume2/share02/01.dd
.
Заметки:
- При чтении
/dev/sda
с dd
хорошо использовать bs=
больше, чем по умолчанию, например, bs=4M
.
- Я бы использовал
dd status=progress …
или pv
вместо dd
(или, по крайней мере, между dd
и ssh
: dd … | pv | ssh …
), чтобы увидеть прогресс.
- Помните,
sda
не должна быть записана, пока dd
работает. Например, смонтированный sda1
(если только для чтения) может сделать изображение несовместимым.
Вы можете уменьшить размер изображения. Прочтите этот мой ответ . В вашем случае, после того как вы подготовите весь sda
, команда может быть
pv /dev/sda | gzip -c -9 | ssh -p 12344 potato@10.10.45.44 'cat > /volume2/share02/01.dd.gz'