Linux管理员的日程当中,有很多需要执行的任务,其中就有系统的重启和关闭。
对于 Linux 管理员来说,重启和关闭系统是其诸多风险操作中的一例,有时候,由于某些原因,这些操作可能无法挽回,他们需要更多的时间来排查问题。
在 Linux 命令行模式下我们可以执行这些任务。很多时候,由于熟悉命令行,Linux 管理员更倾向于在命令行下完成这些任务。
重启和关闭系统的 Linux 命令并不多,用户需要根据需要,选择合适的命令来完成任务。
以下所有命令都有其自身特点,并允许被 Linux 管理员使用.
系统重启和关闭之始,会通知所有已登录的用户和进程。当然,如果使用了时间参数,系统将拒绝新的用户登入。
执行此类操作之前,我建议您坚持复查,因为您只能得到很少的提示来确保这一切顺利。
下面陈列了一些步骤:
确保您拥有一个可以处理故障的控制台,以防之后可能会发生的问题。 VMWare 可以访问虚拟机,而 IPMI、iLO 和 iDRAC 可以访问物理服务器。
您需要通过公司的流程,申请修改或故障的执行权直到得到许可。
为安全着想,备份重要的配置文件,并保存到其他服务器上.
验证日志文件(提前检查)
和相关团队交流,比如数据库管理团队,应用团队等。
通知数据库和应用服务人员关闭服务,并得到确定答复。
使用适当的命令复盘操作,验证工作。
最后,重启系统。
验证日志文件,如果一切顺利,执行下一步操作,如果发现任何问题,对症排查。
无论是回退版本还是运行程序,通知相关团队提出申请。
对操作做适当守候,并将预期的一切正常的反馈给团队
使用下列命令执行这项任务。
shutdown、halt、poweroff、reboot 命令:用来停机、重启或切断电源
init 命令:是“initialization” 的简称,是系统启动的第一个进程。
systemctl 命令:systemd是 Linux 系统和服务器的管理程序。
方案 1:如何使用 shutdown 命令关闭和重启 Linux 系统
shutdown 命令用于断电或重启本地和远程的 Linux 机器。它为高效完成作业提供多个选项。如果使用了时间参数,系统关闭的 5 分钟之前,会创建 /run/nologin 文件,以确保后续的登录会被拒绝。
通用语法如下:
shutdown [OPTION] [TIME] [MESSAGE]
运行下面的命令来立即关闭 Linux 机器。它会立刻杀死所有进程,并关闭系统。
shutdown -h now
-h:如果不特指 -halt 选项,这等价于 -poweroff 选项。
另外我们可以使用带有 -halt 选项的 shutdown 命令来立即关闭设备。
shutdown --halt now
或者
shutdown -H now
-H, --halt:停止设备运行
另外我们可以使用带有 poweroff 选项的 shutdown 命令来立即关闭设备。
shutdown --poweroff now
或者
shutdown -P now
-P, --poweroff:切断电源(默认)。
如果您没有使用时间选项运行下面的命令,它将会给出如下结果。
shutdown -h
Usage: shutdown [-akrhPHfFnc] [-t sec] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-P: halt action is to turn off power.
-H: halt action is to just halt.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but godown real fast.
-c: cancel a running shutdown.
-t secs: delay betweenwarning and kill signal.
** the "time"argument is mandatory! (try "now") **
添加时间参数,如果你想在 N 秒之后执行关闭或重启操作。这里,您可以为所有登录用户添加自定义广播消息。例如,我们将在五分钟后重启设备。
root@imx6qdlsolo:~# shutdown -r +5 "To activate the latestKernel"
Broadcast message from root@imx6qdlsolo(ttymxc0) (Fri Jun 30 11:51:34 2000):To
activate the latest Kernel
The system is going DOWN for reboot in 5minutes!
运行下面的命令立即重启 Linux 机器。它会立即杀死所有进程并且重新启动系统。
shutdown -r now
-r, --reboot: 重启设备。
方案 2:如何通过 reboot 命令关闭和重启 Linux 系统
reboot 命令用于关闭和重启本地或远程设备。reboot 命令拥有两个实用的选项。
它能够优雅的关闭和重启设备(就好像在系统菜单中惦记重启选项一样简单)。
执行不带任何参数的 reboot 命令来重启 Linux 机器。
reboot
执行带 -p 参数的 reboot 命令来关闭 Linux 机器电源。
reboot -p
-p, --poweroff:调用halt 或 poweroff 命令,切断设备电源。
执行带 -f 参数的 reboot 命令来强制重启 Linux 设备(这类似按压机器上的电源键)。
reboot -f
-f, --force:立刻强制中断,切断电源或重启。
方案 3:如何通过 init 命令关闭和重启 Linux 系统
init(“initialization”的简写)是系统启动的第一个进程。
它将会检查 /etc/inittab 文件并决定 linux 运行级别。同时,允许用户在 Linux 设备上执行关机或重启操作. 这里存在从 0 到 6 的七个运行等级。
建议阅读:
如何检查 Linux 上所有运行的服务
执行以下 init 命令关闭系统。
init 0
0: 停机 – 关闭系统。
运行下面的 init 命令重启设备:
init 6
6:重启 – 重启设备。
方案 4:如何通过 halt 命令关闭和重启 Linux 系统
halt 命令用来切断电源或关闭远程Linux 机器或本地主机。 中断所有进程并关闭 cpu。
halt
方案 5:如何通过 poweroff 命令关闭和重启 Linux 系统
poweroff 命令用来切断电源或关闭远程 Linux 机器或本地主机。 poweroff 很像 halt,但是它可以关闭设备硬件(灯和其他 PC 上的其它东西)。它会给主板发送 ACPI 指令,然后信号发送到电源,切断电源。
poweroff
方案 6:如何通过 systemctl命令关闭和重启 Linux 系统
systemd 是一款适用于所有主流Linux 发型版的全新 init 系统和系统管理器,而不是传统的 SysV init 系统。
systemd 兼容与 SysV 和 LSB 初始化脚本。它能够替代 SysV init 系统。systemd 是内核启动的第一个进程,并持有序号为 1 的进程 PID。