安排关闭时间 Linux 命令 Line

必须把它关掉 Linux 系统却需要等待一个进程完成?

你不必无所事事地等待。 您可以安排关闭:

shutdown +N

这样,N分钟后系统就会关闭。 您还可以安排在预定义时间关闭:

shutdown 15:30

上面的命令将其关闭 Linux 下午 3:30 系统

还有其他方法可以关闭此功能 Linux 系统在未来的某个时候。 实际上, 您还可以使用 crontab 设置定期关闭计划

我将在本教程中向您展示所有这些内容。

安排一次性关闭 Linux

shutdown 命令允许您安排在 X 分钟后或特定时间关闭。

要在任意分钟后关闭,您可以通过添加 +minutes 到命令。

shutdown +15

上述命令安排 15 分钟后关闭。

如果你想在 16:45 关闭系统,你可以添加时间戳(24 小时格式)而不是计算分钟数 ?

shutdown 16:45

查看计划关闭

如果您想检查是否有任何计划的关闭,可以使用 --show 一天。

shutdown --show

取消预定的关闭

你改变了主意并且你不想要它

要取消关闭,请使用以下命令:

shutdown -c

奖励:向登录用户发送警报

要向每个登录用户发送消息,您可以使用最后一个选项:消息。 它使用 Wall 将消息发送给登录到 TTY 界面的任何用户。

这里有一个 example:

sudo shutdown +10 "Save your work! This system will shut down in 10 min!"

要了解 shutdown 命令的其他选项,请访问本文以了解更多详细信息:

将关闭安排为例行公事

常规系统关闭可以通过两种方式完成。 你可以使用旧的好 定时任务 或较新的 系统定时器

使用 cron 作业

Cron 作业以调度任务而闻名。 它很受欢迎并且具有以下特点 Linux 许久。 其特殊的语法使其成为一个有趣的概念。 查看详细指南。

每个用户都有一个 cron 文件,可用于为用户安排本地操作。 但是,对于系统范围的应用程序(例如关闭),您必须使用 root 用户的文件。

通常 cron 文件包含描述语法和其他内容的文本(尤其是在 Debian-based 发行版),但如果没有也不必担心。

cron 文件中每一行的语法解释如下:

每个字段可以包含如上所述的某些值。 星号示例可用于表示“全部”,表示该字段中的所有值。 为了

如果小时参数为 *,则作业全天每小时运行一次。

sudo crontab -e

首先,打开root用户的cron文件,如下:

该系统预计每天晚上 10:30 关闭。 请注意,时间必须采用 24 小时格式 – 22:30(并且分钟在小时之前)。

要每天(以及一年中的每个月)关闭系统,请在文件末尾添加以下行:分钟小时该月的某一天一年中的月份工作日
命令3022**/sbin/shutdown now

* /sbin/shutdown now 这意味着:“在所有日期和月份的 22 小时第 30 分钟运行该命令。”

关闭系统”。

您可以保存文件并退出。 cron 作业会自动更新并在每天晚上 10:00 运行。

使用 systemd 定时器 .timer Systemd 计时器很有趣。 它们被认为是 cron 作业的绝佳替代品! 这些文件以

可以控制服务或事件的扩展。

有两种类型的计时器:实时(在特定时间以该频率运行,如 cron 作业 – 取决于时钟)和整体(启动时间是可变的,如启动时间等)。

要在特定时间点关闭系统,应使用实时计时器,因为它们恰好在指定的时间戳执行操作。

关机定时器

sudo vim /etc/systemd/system/shutdown.timer

首先创建一个定时器文件:

您可以将此代码放入计时器文件中: 单元

该部分包含计时器的属性(描述、所需服务等)。

  • 计时器部分告诉您计时器何时以及如何运行。 在日历上
    – 声明实时计时器的标签,其中调度基于日历。 year-month-day hour:minute:second
    句法:*-*-* 这里计时器每天运行(
  • 即每年、每月或每天)的 22:30(或 22:30) 执着的

– 定义计时器是否应在重新启动后持续存在(true 则在重新启动后启用计时器) 安装

  • 本节描述了如何激活计时器。 通缉者 timers.target– 用于指示不同的目的地(默认、计时器、紧急情况等),它们只是一组分组服务。 既然它是一个定时器,我们就使用

关机服务

sudo vim /etc/systemd/system/shutdown.service

定时器通过触发服务来工作。 需要系统关闭服务。 因此创建一个同名的服务文件:

将以下内容添加到文件中,保存并退出: 服务

  • 本节解释了服务的行为。 类型oneshot – 描述服务类型(
  • 表示运行一次然后停止的服务)。 执行启动 /sbin/shutdown now– 定义服务启动时要执行的命令(这里是系统关闭命令:

sudo systemctl reload-daemon

创建两个文件后重新加载守护进程:

激活计时器

最后,转到终端并使用以下命令启用计时器:

systemctl list-timers 

启用并启动定时器后,您需要在提供的定时器列表中看到它

突出显示表示计时器已启动(触发服务)并且还剩指定的运行时间。

尝试了解 systemd 服务如何工作。 将文件通读两遍; 您也可以了解各个部分的作用。 一旦掌握了它的窍门,使用计时器就会非常有趣。

我希望您发现所有方法都很有用。 如果您有任何疑问,请随时在评论部分表达您的疑问。