有没有一种简单的方法可以在关机、重启、关机、停止等情况下警告管理员:
- 正在进行的计算(高负载、高磁盘 io)
- 打开 bash / zsh / ... 终端会话
- 其他登录用户
- screen / tmux 会话
我正在寻找一种能够帮助管理员避免意外丢弃大量工作的解决方案。
设置:合作环境(15 个用户,彼此都认识)。我们使用一台有多个用户和管理员的共享服务器。许多用户在screen
/tmux
会话中进行长时间的计算。尽管管理员应该知道得更多,但有时他们会重新启动机器并意外打扰登录用户正在进行的工作。
答案1
有一个名为 的 debian 软件包molly-guard
。它会要求您输入主机名,这样您就不会意外关闭错误的机器。默认情况下,此功能仅针对 SSH 连接启用,但您可以设置ALWAYS_QUERY_HOSTNAME=true
为/etc/molly-guard/rc
始终询问。
此外,为了让管理员了解发生了什么,我们添加了以下/etc/molly-guard/run.d/20-own-warning
文件:
#! /bin/bash
echo
echo "current logins: w:"
w
echo
echo "current logins: who:"
who
echo
echo "current open terminals: ps aux | grep -E '(bash)|(zsh)'"
ps aux | grep -E '(bash)|(zsh)'
echo
echo
echo "Before shutdown/reboot, please contact all of the above users!!!"
echo
exit 0