Запустите команду удаленно, а затем закройте соединение.

Я смог пропуститьRestoreFiles(отключить его ), установив Enabled = "no"в задании, после этого он больше не отображается в расписании.

0
07.10.2019, 17:24
2 ответа

Ничего, поверь, я нашел решение:

ssh root@192.168.X.X "nohup fstrim /data > /dev/null &"
1
28.01.2020, 02:17

Если вы установили screenна удаленных серверах, попробуйте это, что запустит команду fstrimвнутри отсоединенного сеанса screen. Что касается ssh, то это приведет к немедленному выходу.

ssh root@192.168.X.X screen -S fstrim -md fstrim /data

Вы можете повторно подключиться к сеансу с помощью

ssh -tt root@192.168.X.X. screen -r fstrim

и снова отключитесь с помощью Ctrl a(Ctrl )d

Причина, по которой ваша первоначальная команда не работает, заключается в том, что nohupможет видеть, что stdout не является терминалом и держит дескриптор открытым для записи. (Если бы вы использовали ssh -tt, на удаленной стороне был бы создан псевдотерминал, и nohupувидел бы терминал. )Путем явного перенаправления stdout вы можете заставить процесс работать в фоновом режиме, как и ожидалось:

ssh -fn root@192.168.X.X "nohup fstrim /data >nohup.out &"

Прочтите man nohupдля получения подробной информации об этом, теперь вы знаете, что ищете.

2
28.01.2020, 02:17

Теги

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