说到关机和重启,很多人认为,重要的服务器(比如银行的服务器、电信的服务器)如果重启了,则会造成大范围的灾难。笔者在这里解释一下。

首先,就算是银行或电信的服务器,也不是不需要维护,而是依靠备份服务器代替。其次,每个人的经验都是和自己的技术成长环境息息相关的。比如笔者是游戏运维出身,而游戏又是数据为王,所以一切操作的目的就是保证数据的可靠和安全。这时,有计划的重启远比意外岩机造成的损失要小得多,所以定义重启是游戏运维的重要手段。

shutdown命令

在早期的 Linux 系统中,应该尽量使用 shutdown 命令来进行关机和重启。因为在那时的 Linux 中,只有 shutdown 命令在关机或重启之前会正确地中止进程及服务,所以我们一直认为 shutdown 才是*安全的关机与重启命令。

而在现在的系统中,一些其他的命令(如 reboot)也会正确地中止进程及服务,但我们仍建议使用 shutdown 命令来进行关机和重启。

shutdown 命令的基本信息如下。

命令名称:shutdown。

英文原意:bring the system down。

所在路径:/sbin/shutdown。

执行权限:超级用户。

功能描述:关机和重启

命令格式

[root@localhost ~]# shutdown [选项] 时间 [警告信息]

选项:

-c:取消已经执行的 shutdown 命令;

-h:关机;

-r:重启;

【例 1】重启与定时重启。

先来看看如何使用 shutdown 命令进行重启:

[root@localhost ~]# shutdown -r now

#重启, now是现在重启的意思

[root@localhost ~]# shutdown -r 05:30

#指定时间重启,但会占用前台终端

[root@localhost ~]# shutdown -r 05:30 &

#把定义重启命令放入后台,&是后台的意思

[root@localhost ~]# shutdown -c

//取消定时重启

[root@localhost ~]# shutdown -r +10

#10分钟之后重启

【例 2】关机和定时关机。

[root@localhost ~]# shutdown -h now

#现在关机

[root@localhost ~]# shutdown -h 05:30

#指定时间关机

reboot命令

在现在的系统中,reboot 命令也是安全的,而且不需要加入过多的选项。

[root@localhost ~]# reboot

#重启

halt和poweroff命令

这两个都是关机命令,直接执行即可。

[root@localhost ~】# halt

#关机

[root@localhost ~】# poweroff

#关机

init命令

init 是修改 Linux 运行级别的命令,也可以用于关机和重启。

[root@localhost~]# init 0

#关机,也就是调用系统的 0 级别

[root@localhost ~】# init 6

#重启,也就是调用系统的 6 级别