Назад | Перейти на главную страницу

CentOS 7 systemctl - нет обратной связи или состояния / вывода

Я только что установил CentOS 7.1 на один сервер, и меня смущает, как systemctl работает по сравнению с service.

В CentOS 6 я получал обратную связь при запуске service, Такие как:

root@centos6 [~]# service mysql restart
Shutting down MySQL........................................[  OK  ]
Starting MySQL.............................................[  OK  ]

root@centos6 [~]# service mysql status
MySQL running (910285)                                     [  OK  ]
root@centos6 [~]#

Однако в CentOS 7, когда я использую systemctl, Я ничего не получаю. Я не знаю, что случилось, и было ли что-то вообще:

root@centos7 [~]# systemctl restart mysql
root@centos7 [~]# /bin/systemctl restart  mysql.service

# Nothing happened

И когда я бегу service в CentOS 7 это происходит:

root@centos7 [~]# service mysql restart
Redirecting to /bin/systemctl restart  mysql.service

Что мне не хватает?

Как и любая хорошая команда unix, systemctl ничего не выводит, если не возникла проблема или вы не выполнили команду, которая явно требует вывода. Если вы ничего не видите, значит команда выполнена успешно.

Если хотите, можете бежать systemctl status mysql чтобы увидеть его текущий статус.

Вот что я делаю:

systemctl start my-service && journalctl -fexu my-service

journalctl это самый простой способ получить вывод из ваших системных служб.

  • -f следует за выводом журнала my-service пока я не уйду (ctrl-C).
  • -e прокручивает до конца (самых последних) сообщений журнала.
  • -x объяснения из Каталога сообщений журнала, если таковые имеются.
    (Смотрите также https://www.freedesktop.org/wiki/Software/systemd/catalog/)
  • -u будет показывать только журналы из my-service Блок.

С момента появления облака люди больше не запускают и останавливают сервисы вручную, поэтому эта команда не требует обратной связи, даже в качестве опции. Спасибо за полет на systemd!