Запустите netcat в фоновом режиме на Ubuntu Lucid 10.04

Я пытаюсь сделать pg_dump с одного сервера и одновременно восстановить на другом сервере.

Команда на исходном сервере (192.168.3.94):

pg_dumpall -v  | nc 192.168.3.95  4000

Команда на целевом сервере (192.168.3.95):

nc -l 4000 | psql mydb

Теперь я запускаю это с моего компьютера через Putty. Поскольку этот процесс занимает ~5 часов, я хочу фоновые задания и закрыть окна терминала. Но я не могу понять, как справиться с обеими командами, а также выйти из оболочки.

Помогите!

3 ответа

Я бы использовал экран. Если вы запускаете каждый конец сеанса экрана, вы можете отсоединить его (Ctrl-d) и выйти из системы, оставив его работающим.

Чтобы запустить процесс, который является как фоновым, так и отдельным от работающей оболочки, вы можете сделать следующее (на своем примере):

(pg_dumpall -v  | nc 192.168.3.95  4000 &)

pstree здесь пригодится для проверки того, что он отсоединен (или ps -ejH если у вас его нет)

Убедитесь, что вы включили '-d' в ваш демон прослушивания, я столкнулся с проблемами с netcat, даже в режиме прослушивания, не разветвляясь, потому что он ожидает stdin.

Другие вопросы по тегам