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

Можно ли запускать scp асинхронно?

Я занимаюсь переносом данных на новый сервер (с одного компьютера с 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 &