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。