我知道我可以shutdown -h hh:mm
在终端窗口中使用(sudo?)关闭系统,但是登录的用户是信息亭用户,该用户被锁定,以至于终端(或除 Firefox 之外的任何窗口)无法打开。
我的问题是:
有没有办法在不打开终端窗口的情况下做到这一点?我读过关于 cron 的文章,但不太明白。
如何根据当天日期更改关机时间?
答案1
Cron 可以很好地完成这一任务。
首先需要找到关机命令的完整路径:
a@ubuntu:~$ which shutdown
/usr/sbin/shutdown
知道命令的路径后shutdown
,您可以将以下行(经过调整)添加到末尾/etc/crontab
:
30 23 * * * root /usr/sbin/shutdown -h now
23:30(晚上 11:30),信息亭将关闭。无论以哪个用户登录,关机命令都以 root 身份运行。
(如果您不想使用全局 crontab,请以 root 身份登录并使用crontab -e
。使用上面相同的语法,但不使用root
)。
Cron 格式:
MM HH DD OO WW command
MM
:分钟,0-59
HH
:24 小时制小时
DD
:月份中的日期
OO
:月份
WW
:星期几(星期日为 0,星期一为 1)
command
:不言自明
答案2
cronjob 似乎是最好的方法,因为您可以为不同的日期指定不同的时间。在基于 Gnome 的系统上,您只需安装GNOME 日程表使用
sudo apt-get install gnome-schedule
然后使用 GUI 配置 cronjob。
否则你必须使用sudo crontab -e
然后添加以下几行
30 11 * * 1-5 /sbin/shutdown -h now
30 10 * * 0,6 /sbin/shutdown -h now
这将在周一至周五的 11:30 和周六、周日的 10:30 关闭 PC。结构非常简单:
minute (0-59), hour (0-23, 0 = midnight), day (1-31), month (1-12), weekday (0-6, 0 = Sunday), command
有关此内容的更多信息,您还可以查看Cron如何操作
答案3
sudo poweroff
我们可以通过简单地运行命令在指定的时间自动关机crontab
。
如果你想每天下午 6:30 关闭系统。在终端中输入:
sudo crontab -e
编辑
30 18 * * * poweroff