Вопрос: перезапустить все определенные единицы на systemctl без цикла?


Может ли кто-нибудь здесь запустить / остановить / перезагрузить / ... список единиц, заданных с помощью подстановочного знака или аналогичного метода на systemctl?

Я пытаюсь сделать что-то вроде: systemctl restart openstack-nova-*.services или systemctl restart openstack-nova-?.services

но это тупик, и я не нашел ничего полезного в руководстве systemctl.

Я мог бы использовать цикл for, но до этого мне придется сделать systemctl -t service --failed а затем grep для перечисленных единиц ... немного скучно нет?

Итак, если кто-то знает, можно ли сделать что-то подобное или нет, я буду рад услышать это.

Если это не так, я думаю, что я выдвину эту идею в списке разработчиков systemctl или, возможно, сделаю патч, если у меня будет время для ^^


6
2017-09-23 08:09


Источник


Как насчет «systemctl restart openstack-nova * .service»? Это работает? - dsmsk80
Nop, это то, о чем я говорил по моему примеру :( Спасибо за вашу помощь! - Dr I
Какой дистрибутив вы используете? - dsmsk80
Я бегу на Fedora 19 - Dr I


Ответы:


Через два года systemctl все еще не допускает подстановочные знаки, хотя они были бы чрезвычайно полезны.

Однако я сделал заметку о systemctl -t service --failed и я взломал это. Я решил опубликовать его здесь, потому что этому может помочь следующий человек, чтобы найти этот вопрос.

systemctl restart $(systemctl -t service --failed | grep openstack-nova-*.service | cut -d ' ' -f 1)

Это занимает systemctl -t service --failed, greps для служб, соответствующих «openstack-nova - *. service», а затем удаляет дескрипторы этих файлов путем вырезания (cut) на пространстве (-d ' ') и взяв первый результат (-f 1). Затем он перезапускает всю группу, потому что, к счастью, команда systemctl позволяет передавать несколько сервисов для ее остановки.


2
2017-07-31 22:09



Большое спасибо за ваш комментарий в этом разделе, так как это действительно одна из самых неприятных недостающих функций systemctl. Я сам создал подобный сценарий, чтобы иметь возможность выполнять такие операции. Во всяком случае, я уверен, что ваш пост поможет многим людям ;-) Большое спасибо! - Dr I