SSH: “Соединение, закрытое удаленным хостом” случайным образом при работе над интерактивной сессией

Во-первых, я думаю, что Вы знаете различие, но только быть уверенными /dev/sda (диск) и /dev/sda1 (раздел), не являются одними и теми же, даже если существует только один раздел на диске (sda). C: будет /dev/sda1 нет /dev/sda).

Форматирование должно быть достаточно хорошим, но что также необходимо сделать, монтирование разделы сначала, прежде чем можно будет скопировать что-либо:

sudo mkdir /mnt/sda1 /mnt/sdb1 /mnt/sdc1
sudo mount -o ro /dev/sda1 /mnt/sda1
sudo mount -o ro /dev/sdc1 /mnt/sdc1
sudo mount /dev/sdb1 /mnt/sdb1

(старые диски смонтированы только для чтения).

Теперь можно скопировать использование файлов cp

cd /mnt/sda1
cp -avr . /mnt/sdb1/backup_c
cd /mnt/sdc1
cp -avr . /mnt/sdb1/backup_d

или используйте find и cpio (какой AFAIK делает то же):

cd /mnt/sda1
find . -print0 | cpio -pdmv0 /mnt/sdb1/backup_c
cd /mnt/sdc1
find . -print0 | cpio -pdmv0 /mnt/sdb1/backup_d
2
18.04.2014, 19:09
2 ответа

Дикое предположение:

Нет ничего плохого в ваших машинах в в частности, но вы находитесь в сети, "защищенной" брандмауэром, который отслеживает TCP-соединения. Когда брандмауэр считает, что ваше соединение простаивает слишком долго, он сочтет его мертвым. Это означает, что брандмауэр не считает хорошей идеей пересылать сегменты TCP, принадлежащие этому соединению, потому что, с точки зрения брандмауэра, нет соединения, которому эти сегменты могли бы принадлежать ... и ваш сеанс SSH будет время истекло.

Чтобы исправить ситуацию, вы можете заставить свой SSH-клиент время от времени отправлять пустой сегмент, чтобы напоминать брандмауэру, что у вас есть активный сеанс на удаленном хосте. Это можно сделать с помощью параметра ServerAliveInterval , как описано здесь .

Поскольку вы используете screen: Однажды у меня была такая же проблема, но я случайно ее исправил, когда добавил часы в строку жесткого состояния, что заставляет screen обновлять строку жесткого состояния автоматически каждую минуту.

Примерно минимально работающий ~ / .screenrc , который выполняет это, должен быть:

hardstatus alwayslastline
hardstatus string '%=[%Y-%m-%d %c ]'

(взято из Red Hat Magazine )

1
27.01.2020, 22:13

Вы можете избежать проблемы сервер отключается с помощью nohup . nohup запускает вашу команду на сервере, и она продолжает работать, даже если сервер отключается. Он сохраняет стандартный вывод вашей команды в файл с именем nohup.out, но вы можете перенаправить его по своему усмотрению. Например,

nohup ./simulation > output.txt &

запустит ./ Simulation и поместит вывод, который обычно выводится на экран, в output.txt. Даже если ssh отключится, ./ Simulation продолжит работу до завершения.

1
27.01.2020, 22:13

Теги

Похожие вопросы