I am trying to do a pg_dump from one server and simultaneously restore at the other server.

The command on source server (192.168.3.94):

pg_dumpall -v  | nc 192.168.3.95  4000

The command on the target server (192.168.3.95):

nc -l 4000 | psql mydb

Now I am running this from my PC via Putty. Since this process take ~5 hours, I want to background the jobs and close the terminal windows. But I am not able to figure out how to background both commands and also exit the shell.

Help!

link|improve this question
feedback

3 Answers

I'd use screen. If you run each end in a screen session, you can detach it (Ctrl-d) and log out while leaving it running.

link|improve this answer
feedback

To start a process that is both backgrounded and detached form the running shell, you can do the following (using your example):

(pg_dumpall -v  | nc 192.168.3.95  4000 &)

pstree comes in handy here, for verifying that it's detached (or ps -ejH if you don't have it)

link|improve this answer
feedback

Make sure to include '-d' on your listening daemon, I've run into problems with netcat, even in listen mode, not forking because it expects stdin.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.