Linux

沒有使用者登錄時重啟機器的命令?

  • December 9, 2020

下次沒有目前使用者登錄時,是否有重新啟動電腦的命令?

目前,我必須通過 SSH 連接到機器並使用“w”命令查看登錄的使用者,這樣我就知道是否可以重新啟動。如果有使用者登錄,我根本無法重新啟動,因為他們的 Linux 機器上可能還有未保存的工作,這通常是這種情況。當我必須每週多次通過 SSH 連接到同一台機器以等待沒有使用者登錄的時間時,這可能會非常耗時。

為了使這變得非常簡單,我需要以下內容。

目前沒有使用者登錄時將重新啟動電腦的命令。

這應該會有所幫助……但它不是一個命令,而是一個簡短的腳本。我相信沒有命令。這是一個用於 cron 的腳本,但你當然可以在你的機器上遠端執行它。

我正在使用它在更新後重新啟動。

#!/bin/bash
#  Run this script as a cronjob at some suitable time in the PM, e.g. 10pm.
# Turns off workarea machine if no one is logged on, if someone is logged on
# then checks at 15 minute intervals until a set hour is reached.
# Must be used in conjuntion with the following BIOS settings:
# - Machine powers on in event of AC power being restored after loss
# - Machines turns itself on at a time at least 1 hour after the hour specified
# for $giveupat


# time to give up checking if anyone is logged on at. Specify as an hour on 
#24 clock  e.g. for 7am set to 07. for 7pm set to 19 (though you probably 
#do not want to specify a time in the evening!)
giveupat="07"



# while someone is logged in to the machine...
while [ -n "$(who)" ];do
  if [ "$(date +%H)" != "$giveupat" ];then
  # if time hasn't read the hour at which to give up, sleep 15 minutes
     sleep 900 
  else
    # otherwise stop the script
     exit
  fi
done


# turn off gui login screen
service xdm stop


# reboot
reboot now

資料來源:linuxquestions.org

引用自:https://unix.stackexchange.com/questions/415032