Мне нужно скопировать большой файл (около 30 Гб) в фоновом режиме через ssh. Если я сделаю это так и отключусь, он скопируется хорошо:
ssh server
# cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;
Но если я сделаю это:
ssh server 'cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;'
он ждет, пока файл не скопируется. Зачем?
Попробуйте добавить -f
:
ssh -f server 'cp /file1 /file2 & >/dev/null 2>/dev/null ; disown;'
(Проверено и работает у меня.)
-f Запрашивает ssh перейти в фоновый режим непосредственно перед выполнением команды. Это полезно, если ssh будет запрашивать пароли или парольные фразы, но пользователь хочет, чтобы это было в фоновом режиме. Это означает -n. Рекомендуемый способ запуска программ X11 на удаленном сайте - это что-то вроде ssh -f host xterm.