У меня есть сценарий удара (на локальной машине), который имеет следующую строку
ssh root@remoteip "some commands; shutdown -r now"
#do other things
Однако после этой строки (удаленный сервер был перезагружен успешно), целый сценарий удара просто выходит ("делают другие вещи" не выполняются).
Как решить эту проблему?
Работайте эти shutdown
команда в фоне, это сделало задание для меня:
#!/bin/bash
ssh root@remote-ip "some-command > /dev/null; shutdown -r now &"
uname -a
some-command > /dev/null
: выполнения some-command
и перенаправления вывод к /dev/null
, таким образом, я не получаю вывода, поскольку Вы сказали. shutdown -r now &
: работает эти shutdown
команда в фоне и оставляет оболочку для получения дальнейших команд. uname
мой #do other things
для тестовой цели, которая будет выполняться прямо после того, как удаленная система понижается;) не делает ожидает его, чтобы быть завершенным). существуют другие способы достигнуть этого результата также, например, можно выполнить целую команду в фоне:
ssh root@remote-ip "some-command > /dev/null; shutdown -r now" &
Или выполненный это в оболочке sub:
$(ssh root@remote-ip "some-command; shutdown -r now")
, Хотя я предлагаю первый, имея в виду выполнение эти shutdown
команда в фоновом режиме удаленной машины.