如果我输入
sudo shutdown -h 21:30
比如说,21:20,我就会收到一条消息说
Shutdown scheduled for Tue 2020-05-26 21:30:00 BST, use 'shutdown -c' to cancel.
这很棒。但是有没有办法安排关机每天晚上 9 点半,不用sudo shutdown -h 21:30
每天打字?
有关我的机器的信息(以防万一):
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
答案1
您正在寻找cron
cron
是通用实用程序(Ubuntu 附带),用于安排以固定时间间隔运行您选择的任何命令。cron
通过 进行配置和控制crontab
。了解如何使用 `crontab 需要一些时间。在我们进一步了解之前,请参阅https://help.ubuntu.com/community/CronHowto有关如何使用 crontab。
用于crontoab
安排shutdow
每晚 21:30
我们希望以管理员权限运行该脚本。因此我们sudo
在之前使用 .。按 ++打开crontab
终端并输入:CtrlAltT
sudo crontab -e
此命令将打开 root 用户的 crontab 文件(如果存在),或创建一个空白的新文件。在文件末尾添加以下行:
30 21 * * * /sbin/shutdown -h
中的每一行crontab
都有五个时间和日期字段,后面跟着一个命令,后面跟着一个换行符(“\n”)。字段之间用空格分隔。五个时间和日期字段不能包含空格。五个时间和日期字段如下:
- 分钟(0-59),
- 小时(0-23,0 = 午夜),
- 日 (1-31),
- 月(1-12),
- 工作日(0-6,0=星期日)。
所以,30 21 * * *
意味着每天21:30。
如果使用nano
文本文件编辑器(默认),请按Ctrl+退出编辑器X。编辑器将提示您保存更改。按Y然后按Enter选择默认文件名。
注意,我们需要指定通过 cron 调用的程序的路径,在本例中为shutdown
。其次,我们不需要将时间指定为shutdown
命令的参数,因为该命令将在每天的该时间执行cron
。
其他解决方案
之前已经提出并回答过类似的问题:
希望这可以帮助