В нашей организации около 500 машин RedHat Linux.
На всех машинах мы установили приложения и сервисы под /etc/init.d
, и серверы Oracle RAC. Мы намерены выполнить обновление yum на всех машинах, а затем выполнить перезагрузку.
Поэтому мне было интересно, какая команда безопаснее:
reboot
или
shutdown -r now
Завершение работы предпочтительнее, потому что это позволяет указать причина для решительных действий - то, что вы всегда должны делать. Сообщение будет записано в журнал (а) для потомков. Например:
shutdown -r now 'Kernel upgrade requires reboot'
Вы также можете выполнить Запланированное перезагрузка - указав что-то кроме now
как время перезагрузки:
shutdown -r 22:00 'Work around kernel memory leak'
Тогда ваши пользователи будут получать периодические напоминания о выходе и так далее - процесс станет более упорядоченным и профессиональным.
Для систем Red Hat, нет функциональной разницы между reboot
и shutdown -r now
.
Делай то, что тебе легче.
Если вы посмотрите, в RHEL 7 оба /sbin/shutdown
и /sbin/reboot
на самом деле просто символические ссылки на systemd systemctl
команда. Итак, используйте все, что хотите. Никакой функциональной разницы, как сказал ewwhite, даже в более ранних выпусках RHEL, которые еще не использовали systemd.
С помощью reboot
безопаснее.
С помощью reboot
ваше намерение ясно, и его невозможно спутать с чем-то другим, например shutdown -t now
что может вызвать головную боль, если вы используете удаленный сервер с ограниченным контролем.
Для современного RHEL рекомендуется использовать команду systemctl как указано здесь: [недавние] дистрибутивы RHEL должны использовать новую команду systemctl для выполнения poweroff / reboot. Как указано в руководствах по перезагрузке и выключению, они являются «устаревшей командой, доступной только для совместимости».
Однако, если вы используете много разных дистрибутивов или дистрибутивов разных винтажей, то, возможно, придерживаетесь shutdown -r now 'reason for shutdown'
.
Основная причина использовать reboot
было бы избежать риска забыть добавить -r при использовании shutdown -r
на удаленном компьютере, что может легко привести к невозможности повторного входа в систему и необходимости использования удаленного администратора (если он доступен) для перезапуска компьютера.
В более старых системах определенно проводилось различие между shutdown
и reboot
. Последний не отключал бы службы или даже не синхронизировал дисковые буферы. В гетерогенных средах - или чтобы избежать прецедента, который может быть опасен в будущем при встрече с другими реализациями * ix - имеет смысл shutdown
привычка.