PDA

View Full Version : dd over sftp


quentin
8th July 2008, 13:14
Hi,

Wondering if someone can help me out with this one:

I want to make disk images of a server and store them somewhere remote.

Ofcourse you can do this with dd and upload the file with sftp to a remote server. The downside is that it requires a huge amount of free space to store the temporary disk image file.

Is there a way to "stream" it directly to a sftp-server?

As far as I came up with was this:

dd if=/dev/sda | bzip2 > /backup/disk.img | sftp -b /backup/dd.txt
-oIdentityFile=/backup/sshkey.key remoteuser@remoteserver.com

contents of dd.txt:
-cd remotebackup
put /backup/disk.img
quit

In this case it will store the disk.img locally first and then send it. So I was wondering if there was an easier way to this and stream it directly.
(Note: The remote SFTP-server is a Windows-machine, so no linux shell commands can be executed)

Thanks in forward for any help.


Best regards,

Quentin

topdog
8th July 2008, 14:25
You could do that with a combination of dd and nc

topdog
8th July 2008, 14:26
PS: My bad you possible need to run over an encrypted tunnel which nc will not support.

topdog
8th July 2008, 14:39
Am not sure if sftp can accept stdin but it is worth trying
dd if=/dev/sda | bzip2 > /backup/disk.img | sftp user@host:file -

quentin
8th July 2008, 17:16
Thanks for your reply, but with the last command you wrote it still will write to a local disk, which results in a huge "temp" file...

Still couldn't find a solution, but thanks for thinking along with me in this case.

Best regards,

Quentin

burschik
9th July 2008, 11:51
The OpenSSH scp/sftp commands refuse to transfer non-regular files, so you can not use a named pipe. However, there are other scp/sftp implementations. Maybe one of them will do what you want.

quentin
9th July 2008, 15:19
Ok thanks for your replies.

In short: It just can't be done this way...

Does anyone know another program which can do the trick? I just want to image the disk on the fly to a remote server.

If any other backupsoftware can do something similar, it's ok too.


Best regards,

Quentin

falko
9th July 2008, 16:09
You might want to take a look at SystemImager. It uses rsync to store the images on a remote server.

lintoolman
23rd September 2008, 13:58
PS: My bad you possible need to run over an encrypted tunnel which nc will not support.


Cryptcat could be used in leu of nc for an encryted tunnel.