在指定时间自动关闭?


18

我知道我可以shutdown -h hh:mm在终端窗口中使用(sudo?)关闭系统,但是登录的用户是自助服务终端用户,该用户被锁定为终端(或除firefox以外的任何窗口) ,就此而言)无法打开。

我的问题是:
有没有办法在不打开终端窗口的情况下执行此操作?我已经阅读过有关cron的内容,但无法完全解决。
如何根据当天的时间更改关闭时间?


您要在02:00 AM关闭吗?
αғsнιη

不,对不起,这就是我阅读的示例中使用的内容。通常在11:30,但我想知道是否有一种方法可以指定不同日期的不同时间?
MrAxlee'1

1
您可以引用该URL以自动关闭。askubuntu.com/questions/19774/…–
vembutech

1
@vembutech这个问题是在经过一定时间关闭- 特定时间不关闭-但是尽管很容易满足我的需要,但是我仍然无法运行除firefox之外的其他窗口。谢谢您的回复!似乎比使用cron简单得多,我很可能会将其用于其他用途:)
MrAxlee 2015年

@MrAxlee ...那么,您要在开机n小时后关闭系统吗?
卡兹·沃尔夫

Answers:


30

Cron为此将很好地工作。

将以下行(带有调整)添加到的末尾/etc/crontab

30 23 * * * root shutdown -h now

在23:30(晚上11:30),信息亭将关闭。无论登录什么用户,shutdown命令都将以root用户身份运行。

(如果您不想使用全局crontab,请以root用户身份登录并使用crontab -e。使用上面相同的语法,但不要使用root)。


Cron格式:

MM HH DD OO WW command

MM:分钟,0-59
HH:24小时:月份中
DD的月份
OO:月份
WW:一周中的一天(星期日为0,星期一为1)
command:不言自明


@JacobVlijm何时添加的?我在官方Cron文档中没有看到它。
卡兹·沃尔夫

1
我会

1
来自crontab(5):系统crontab的格式/ etc / crontab包含用户crontabs中不存在的who列。在系统crontab中,cron以此列中指定的用户身份运行命令。在用户crontab中,所有命令都以创建crontab的用户身份运行。
Jacob Vlijm

@Whaaaaaat很好的答案,效果很好,谢谢!-h和之间有什么区别-s
MrAxlee'1

1
@MrAxlee -s似乎不是“正确的语法”。-h意味着停止或关闭系统(系统选择-首选关闭)
Kaz Wolfe 2015年

6

cronjob似乎是最好的方法,因为您可以为不同的日期指定不同的时间。在基于Gnome的系统上,您可以通过使用以下命令安装GNOME Shedule Tasks:

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 

有关此的更多信息,您也可以查看CronHowto


2
我必须专门使用/sbin/shutdown代替,shutdown因为我的根cron PATH与尝试脚本的终端不同。
Jaakko'1

3

通过sudo poweroff在中运行命令,我们可以在指定时间自动关闭crontab

如果您想每天下午6:30关闭系统。输入终端:

sudo crontab -e

编辑

30 18 * * * poweroff

@mrm有替代方法,针对特定问题可以有许多不同的解决方案,因此可以提供答案。它的答案有用吗?如果您不清楚,请我不要拒绝回答或提问。正确阅读问题,然后查看答案是否适用于该特定问题。如果您仍然有任何难题,可以随时在Ask Ubuntu Meta或此处进行询问 ,然后做出决定。
雏菊

在一个crontab行中,您有两个问题:poweroff跳过关闭脚本,这对于例如安全关闭数据库或其他操作可能很重要,并且您sudo在根crontab中也有不需要的脚本。您也没有根据问题询问如何引用一周中的不同日期。因此,这不是替代方法。照原样,这是两个错误和遗漏。比您一年前做出的另外两个答案是正确的,并且可以实际工作。
mrm

@mrm好吧,最近三年我一直在使用此脚本,但没有发现任何问题。是的,这种替代方法也可以纠正有用的方法。Que在指定时间自动关闭。有一个命令可以关闭,并且在自动指定的时间内,我们可以根据需要使用crontab。如果您对问题提出不同的问题,对您会更好。
雏菊
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.