Назад | Перейти на главную страницу

Запустите 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 часов, я хочу запустить задания в фоновом режиме и закрыть окна терминала. Но я не могу понять, как запустить обе команды в фоновом режиме, а также выйти из оболочки.

Помогите!

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

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

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

(pg_dumpall -v  | nc 192.168.3.95  4000 &)

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