Сценарий bash неожиданно завершается при перезагрузке удаленного сервера через ssh

Кажется, вы используете прокси для подключения к репозиториям. Возможно, файл конфигурации в файле /etc/apt/apt.conf неверен. Пожалуйста, проверьте содержимое. Он должен быть в форме:

Acquire::http::proxy "http://<username>:<password>@<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<username>:<password>@<proxy>:<port>/";
Acquire::https::proxy "https://<username>:<password>@<proxy>:<port>/";

имя пользователя не может быть электронной почтой !!! - имя пользователя и пароль могут быть пустыми - удалите & lt; >

Если вы можете напрямую подключиться к Интернету, просто удалите файл /etc/apt/apt.conf. (Его также рекомендуется сначала сделать резервную копию :)) Вся эта информация относится к ubuntu 12.04-14.04 (насколько мне известно)

3
задан 25 April 2017 в 13:11

4 ответа

Запустите команду shutdown в фоновом режиме, это выполнило для меня работу:

#!/bin/bash

ssh root@remote-ip "some-command > /dev/null; shutdown -r now &"

uname -a
some-command > /dev/null: запускает some-command и перенаправляет вывод на /dev/null, поэтому я не знаю, t получить любой выход, как вы сказали. shutdown -r now &: запускает команду shutdown в фоновом режиме и оставляет оболочку для получения дальнейших команд. uname - мой #do other things для целей тестирования, который будет выполнен сразу после того, как удаленная система опустится; ) не ждет, чтобы оно было полным).

Есть и другие способы достижения этого результата, например, вы можете запустить всю команду в фоновом режиме:

ssh root@remote-ip "some-command > /dev/null; shutdown -r now" &

Или запустите ее в подклассе:

[ f3]

Хотя я предлагаю первый, что означает выполнение команды shutdown на заднем плане удаленной машины.

2
ответ дан 22 May 2018 в 23:15
  • 1
    Первый способ идеален. Остальные два способа кажутся немного взломанными, потому что, вероятно, они могут оставить запущенный SSH-процесс до тех пор, пока не произойдет некоторый тайм-аут. – Andrea Lazzarotto 25 April 2017 в 14:35
  • 2
    Да, я сделал обновление;) – Ravexina 25 April 2017 в 14:56

Запустите команду shutdown в фоновом режиме, это выполнило для меня работу:

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

Есть и другие способы достижения этого результата, например, вы можете запустить всю команду в фоновом режиме:

ssh root@remote-ip "some-command > /dev/null; shutdown -r now" &

Или запустите ее в подклассе:

$(ssh root@remote-ip "some-command; shutdown -r now")

Хотя я предлагаю первый, что означает выполнение команды shutdown на заднем плане удаленной машины.

2
ответ дан 18 July 2018 в 14:19

Запустите 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 &: запускает команду [F9] в фоновом режиме и покидает оболочку для получения дальнейших команд. uname мой #do other things для целей тестирования, которые будут выполнены сразу после удаленной системе падает; )не ждет его завершения).

существуют и другие способы достижения этого результата тоже электронная.G вы можете запустить всю команду в фоновом режиме:

ssh root@remote-ip "some-command > /dev/null; shutdown -r now" &

или запустить его в суб оболочки:

$(ssh root@remote-ip "some-command; shutdown -r now")

хотя я советую первый, т. е. выполнив команду shutdown на фоне удаленной машине.

2
ответ дан 24 July 2018 в 20:22

Запустите команду shutdown в фоновом режиме, это выполнило для меня работу:

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

Есть и другие способы достижения этого результата, например, вы можете запустить всю команду в фоновом режиме:

ssh root@remote-ip "some-command > /dev/null; shutdown -r now" &

Или запустите ее в подклассе:

$(ssh root@remote-ip "some-command; shutdown -r now")

Хотя я предлагаю первый, что означает выполнение команды shutdown на заднем плане удаленной машины.

2
ответ дан 31 July 2018 в 13:34

Другие вопросы по тегам:

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