Я занимаюсь переносом данных на новый сервер (с одного компьютера с Linux на другой), и я оставил свой ноутбук работающим на ночь, в то время как я скопировал между ними лишь половину своих данных.
Было бы здорово, если бы я мог продолжить остальную часть процесса scp асинхронно, чтобы я мог запустить процесс и выйти из системы / забыть о нем, пока он не будет выполнен.
Обычно я запускаю асинхронные процессы в терминале, добавляя & после команды, но, похоже, это не относится к scp.
Можно ли сделать scp так, как я хочу?
а) Использование screen
или tmux
поместить операции в фоновый режим.
б) Использование rsync
для этой цели вместо scp
. Это намного полезнее, поскольку вы можете легко возобновить переводы, если они не удаются.
c) Обычно вы не используете свой портативный компьютер в качестве промежуточной станции, если это возможно, а копируете напрямую с одного сервера на другой. tmux
/screen
даже более полезен в этом сценарии.
Если ваш ноутбук не задействован в фактической копии, за исключением ssh, используйте nohup
и фоновый процесс, когда вы его запустите.
nohup
заставляет процесс игнорировать сигнал зависания. Просто выведите его в файл журнала, чтобы отслеживать его.
Пример:
nohup rsync -arv /foo user@servername:/bar > output.log 2>&1 &