在这里有人能够启动/停止/重新加载/ … systemctl上通配符或类似的方法指定单位的列表?
我尝试做一些事情,如: systemctl restart openstack-nova-*.services systemctl restart openstack-nova-?.services或systemctl restart openstack-nova-?.services
但是这是一个死路一条,我在systemctl的手册上没有发现任何有用的东西。
我可以使用for循环,但在此之前,我将不得不make一个systemctl -t service --failed ,然后grep列出的单位…有点无聊不是?
所以,如果有人知道是否可以做这样的事情,我会很高兴听到。
如果不是的话,我想我会推荐systemctl开发者名单上的想法,或者如果我有时间的话可以做补丁^^
两年后,systemctl仍然不允许使用通配符,即使它们会非常有用。
但是我做了关于systemctl -t service --failed ,我把这个黑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命令允许多个服务传递给它停止。