登录时运行脚本

登录时运行脚本

我有一个 Minecraft 服务器,在 Ubuntu Server 20.04.3 操作系统上运行,并带有 systemd。

我需要创建一个名为 shutdown 的用户,在登录时(甚至从ssh)应该:

  • 运行脚本shutdownAll
  • 从会话中注销

shutdownAll脚本应如下(或等效):

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

有什么想法可以做到吗?
编辑:我想过使用一个命令作为 shell,但是如何执行两个命令呢?

答案1

我已经设法解决了这个问题。
我创建了一个新脚本 ( /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 分钟后关闭电源并关闭会话。

相关内容