Я смог пропуститьRestoreFiles
(отключить его ), установив Enabled = "no"
в задании, после этого он больше не отображается в расписании.
Ничего, поверь, я нашел решение:
ssh root@192.168.X.X "nohup fstrim /data > /dev/null &"
Если вы установили 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
для получения подробной информации об этом, теперь вы знаете, что ищете.