I have created a script to copy a MongoDB database to my machine. I am creating an SSH tunnel (ssh -L ...
) then I connect to the tunnelled port with mongodump
then I pipe its output to mongorestore
:
mongodump --host=127.0.0.1:##### --db=***** --archive | mongorestore --host={mongo_dest} --drop --archive
I would like to speed up the copying. --gzip
doesn't make sense to be used in this case -- because the same machine and memory are used by mongodump
and mongorestore
. The data comes uncompressed via the SSH socket.
Is there a way to run mongodump
on the SSHed machine and pipe its output to a process on my machine?
Of course I could dump the database, archive, copy over SSH and restore it. But I don't want taking temporary space.