方法一:通过 shutdown 命令自定义关机消息
在 Linux 服务器运维中,关机警告是非常关键的一环。本文将围绕 Linux服务器关机警告设置:自定义shutdown消息的实用方法与完整步骤,帮助运维人员快速部署正确的关机通知。本方法直接将消息嵌入关机命令中,确保所有已登录用户在关机前都能看到自定义提示。
直接在关机命令中嵌入消息,是最简单也最可控的实现方式。关机命令的提示文本会广播给所有当前登录的用户,确保在执行关机时通知覆盖到在岗人员。
shutdown -h +15 "维护通知:服务器将在15分钟后关机,请保存工作并退出应用。"
另一种做法是将消息与定时计划结合使用,达到分阶段提醒的效果。先以一次性广播警告,随后再触发正式关机,避免临时用户没有时间保存数据。
# 15分钟后关机并带上自定义消息
shutdown -h +15 "维护通知:服务器将在15分钟后关机,请保存工作并退出应用。"方法二:通过 wall 工具实现分阶段警告
即时广播与定时广播
wall 是一个专门用于向所有终端广播消息的工具。结合 wall,可以在不同时间点向所有登录用户发送清晰的关机警告,提升通知覆盖率。
为了实现分阶段警告,可以先使用 wall 进行一次即时广播,然后再在接近关机时刻执行正式关机。确保消息格式统一,便于用户快速理解。
wall -n "警告:服务器将在5分钟后关机,请立即保存并退出您的会话。"
# 5分钟后执行关机,关机信息通过 wall 统一广播
shutdown -h +5 "维护通知:服务器将在5分钟后关机,请保存工作并退出应用。"
与 shutdown 配合实现完整流程
将 wall 的警告与 shutdown 的实际执行组合起来,可以实现清晰、可预见的关机流程。先广播详细警告,再执行关机,避免误操作或数据丢失。
在脚本中实现自动化流程时,可以先通过 wall 发布阶段性警告,然后再触发 shutdown。自动化脚本便于日常运维复用。
#!/bin/bash
# 5分钟前警告
wall -n "维护通知:服务器将在5分钟后关机,请保存工作并退出应用。"
# 实际关机
shutdown -h +5 "维护通知:服务器将在5分钟后关机,请保存工作并退出应用。"方法三:在 /etc/nologin 添加自定义关机信息
创建 /etc/nologin 的内容
在系统进入关机阶段时,若存在 /etc/nologin,普通用户将不能登录并看到该文件中的内容。利用 /etc/nologin 来展示自定义关机警告,可以在用户尝试登录时即时看到维护通知。
步骤包括创建或修改 /etc/nologin,将自定义文本填入该文件。文本应简洁明确,包含关机时间和必要的保存提示。
sudo bash -lc 'printf "维护通知:服务器将在凌晨02:00进行维护,届时将不可用。请在此之前保存并退出。\\n谢谢合作。" > /etc/nologin'
另一种实现方式是将多行信息写入 /etc/nologin,以提升可读性。多行信息有助于提供更完整的关机说明。
sudo bash -lc 'cat > /etc/nologin << "EOF"
维护通知:
- 服务器将在凌晨02:00关机进行维护
- 请务必保存所有未保存的工作
- 维护完成后将自动重启
EOF'
清理与恢复机制
关机结束后,系统重启,/etc/nologin 通常会被移除或失效,确保在下次正常登录前不会再误导用户。
# 重启后移除 /etc/nologin(如需手动清理)
sudo rm -f /etc/nologin方法四:将关机警告整合到登录欢迎信息中
使用 /etc/motd 显示关机警告
将关机提示信息放入 /etc/motd(Message Of The Day)中,可以在每次用户通过终端登录时看到最新的维护通知。这是提升日常运维可见性的一个简单方式。

通过向 motd 文件追加关机通知,确保新上线的运维人员也能快速获取警告信息。文本更新频率应保持与实际维护计划同步。
sudo bash -lc 'cat >> /etc/motd << "EOF"
重要通知:服务器维护将于凌晨02:00开始,期间可能无法访问。请提前保存工作。
EOF'
在 SSH 连接时的额外提醒
除了 motd,还可以结合登录脚本在 SSH 会话建立时输出关机警告。通过在 .bashrc 或 /etc/profile 中添加提示,可以覆盖到所有离线前的远程会话。
echo 'echo "维护通知:服务器将在夜间02:00关机,请保存并退出。" ' >> ~/.bashrc 

