我有一个 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 分钟后关闭电源并关闭会话。