Scripting

登錄時執行腳本

  • November 5, 2021

我有一個執行在 OS Ubuntu Server 20.04.3 和 systemd 上的 Minecraft 伺服器。

我需要創建一個名為 shutdown 的使用者,在登錄時(甚至從ssh)應該:

  • 執行腳本shutdownAll
  • 從會話中註銷

shutdownAll腳本應如下(或等效):

systemctl stop minecraft
shutdown +5 "SERVER SHUTDOWN IN 5 MINUTES"

有什麼想法嗎?

***編輯:***我考慮過使用命令作為 shell,但是如何執行兩個命令?

我已經設法解決了這個問題。

我創建了一個新腳本 ( /usr/local/bin/management/shutdownAll),其中包含

sudo systemctl stop minecraft
sudo shutdown +5 "SERVER SHUTDOWN IN 5 MINUTES"

並使其可執行chmod +x shutdownAll

然後編輯visudoer文件添加

shutdown ALL = ALL

並叫usermod -s /usr/blocal/bin/management/shutdownAll

登錄時,兩次詢問密碼(但沒關係),一次用於登錄,一次用於 sudo,然後伺服器停止,5 分鐘後計劃關機並關閉會話。

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