Запустите 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.