进一步阅读

进一步阅读

我正在尝试传达一条简单的信息,其大意是

服务器将于世界标准时间 3 月 1 日晚上 11:00 关闭以进行更新。

所有通过 ssh 访问我的 Raspberry Pi 服务器(运行 Raspbian)的用户。

我不想添加横幅,但有没有办法让所有用户在登录时显示一条简单的消息,直到设定时间或重新启动为止?如果可以的话,我可以让服务器在设定的时间自动运行 shell 脚本吗?

答案1

向登录服务器的用户显示消息的方式正是通过 ssh 横幅。这些通常存储在/etc/motd.因此,既然您想自动化它,您可以执行以下操作:

  1. 复制现有文件

    sudo cp /etc/motd /etc/motd.orig
    
  2. 手动编辑文件并添加横幅,或者,如果您也希望自动执行此操作,请执行以下操作:

    echo "Server will be going down at 11:00pm UTC, March 1st, for updates." | 
        sudo tee -a /etc/motd
    

    这会将您的消息附加到文件中当前的内容中。

  3. 设置一个 cronjob,在重新启动时恢复原始文件。

    echo '@reboot root cp /etc/motd.orig /etc/motd' | sudo tee -a /etc/crontab
    

就是这样。任何通过 ssh 登录的人现在都会看到您的消息,并且该消息将在重新启动后消失。

: 这不是一个好主意。一方面,您需要记住删除@reboot在重新启动后删除 cronjob,否则,从现在开始,它会在每次重新启动时运行。而且,整件事没有多大意义。横幅系统设计为手动编辑,因为它是系统管理员向用户传递消息的一种方式。因为您将关闭服务器手动、应用您的更新或您需要的任何维护手动并重新启动手动,我不明白您为什么要费心自动删除横幅。只需添加它,做你的事情,然后在它不再相关时将其删除。

答案2

这是确切地每日消息系统一直以来的用途是什么。事实上,NetBSD 和 OpenBSD 手册中甚至都有向用户发出“机器将于周六停机”的警告。

按照惯例,将警告放入您的motd文件中/etc/motd。重新启动进行维护时将其拆下。某些操作系统在某种程度上过度鸡蛋化,提供了自动生成消息的复杂方法,在某些情况下,这些消息更适合作为登录横幅的一部分,但即使使用它们,该/etc/motd文件也是一个简单的手动编辑文件。

一般来说,motd日常的信息来自管理员您当用户登录时。

进一步阅读

相关内容