:::

如何讓Proxmox VE排程關機 / How to Make Proxmox VE Schedule Shutdown

8月 16, 2023 , , 0 Comments Edit Copy Download

2023-0620-151437.png

做了很多次了,赫然發現我還沒有好好記錄at的用法。


環境 / Environment

2023-0620-144006.png

我是用的是Proxmox VE 7.2-3,並不是最新版本。但舊版的Proxmox VE操作起來也差不多。

假設我們即將要在8月6日(星期日)的早上8點到下午5點之間停電的話,那我們要記得在之前先讓Proxmox VE關機才行。

那要怎麼設定呢?

關機排程指令 / Command to scheduled shutdown

要在特定時候進行關機,我們會用到關機指令「shutdown -h now」跟排程指令「at」。以8月6日早上8點停電來說,我們需要提早一段時間執行關機指令,讓Proxmox VE在關機的時候也逐台關閉虛擬機器。

如果我們打算要在8月6日早上6點執行關機指令,那麼at指令的寫法如下:

echo "shutdown -h now" | at 6:00am August 6

當然,你可以更換上述紅字的時間,調整成你合適的時間即可。

為每個節點排程 / Set crontab on each node

2023-0620-145023.png

再來我們要為Proxmox VE每一個節點輸入上述指令。必須要注意的是,是每一個節點都要進行下面的設定喔。

請在左邊Server View的地方選擇節點(node)。這個節點的意思是實體的機器。上圖的例子中,我只有一臺實體機器,不過裡面還運作很多虛擬機器就是了。千萬不要把兩者搞錯了喔。

再來是點選右上角的「Shell」,開啟指令介面。

2023-0620-145446.png

如果你已經是root身份了,請執行以下指令來安裝at。

apt update; apt install at -y

2023-0620-145814.png

將剛剛設定好的at排程指令貼上,並且執行。

2023-0620-145652.png

看到「warning: commands will be executed」這樣的訊息,表示at排程完成。

管理at排程的工作 / Manage scheduled jobs

2023-0620-150059.png

接著我們可以用「atq」指令查看已經排程的工作。上圖可以看到目前已經有一個排程的工作,編號是1。

如果要取消已排程的工作,可以使用atrm指令。以下指令將取消編號1的已排程工作:

atrm 1

再用atq查詢的時候,已經看不到剛剛排程的工作囉。

確認是否有關機 / Shutdown monitoring

2023-0620-150521.png

https://uptimerobot.com/

如果你想確認伺服器有正常關機的話,可以搭配UptimeRobot一起使用。UptimeRobot可以監控某個網址,當網址可以連線或無法連線的時候,它可以自動發送通知email給你。這算是一個我用了很久的好服務。

復電後自動啟動 / Startup on power restore

2023-0620-151306.png

https://videowindowglobal.zohodesk.com/portal/en/kb/articles/how-can-i-enable-my-computer-to-automatically-power-on-after-a-power-outage 

除了要設定關機排程之外,也別忘記在BIOS設定「Restore on AC/Power Loss: Power On」,這樣復電之後才會自動啟動喔。


文章最後要問的問題是:停電的時候,你都是怎麼處理電腦的呢?

  1. 停電前一天手動關機。
  2. 知道要停電的時候,就設定自動關機排程。
  3. 不管他,讓他自動斷電。
  4. 我有UPS的電池,可以撐很久。

歡迎在下面留言喔!