我目前正在通过正常运行时间进行控制。 如果正常运行时间大于1小时,计算机将重新启动。
但是我不知道如何控制计算机是否一天或一天以上,因为目前我只控制小时。
是否可以通过正常运行时间来控制几天,几小时和几分钟? 开机时间大于1小时时,我需要重新启动计算机。 如果时间是1天0个小时,则会失败。
对不起,我的解释是,它是一个执行一系列操作的脚本,而alfinal存在此函数,它负责控制此参数。
感谢阅读我
答案 0 :(得分:2)
不确定我是否完全理解您的问题。
如果您希望计算机在一定时间后始终重启,这是非常不寻常的,请使用cron。将其添加到/etc/crontab
(或者,如果您的计算机上有一个/etc/cron.d
目录,您也可以创建一个具有以下内容的文件/etc/cron.d/reboot
):
@reboot root sleep 1800; /sbin/reboot
(自适应reboot
的路径以匹配您的系统; 1800
是30分钟的秒数,将其更改为所需的任何延迟)
另一方面,您可能正在编写将重新引导服务器的脚本,并且如果它在正常运行时间超过30分钟之前运行,则可能希望使其停止工作。
然后,我了解您在解析uptime
的结果时遇到了困难,您应该使用/proc/uptime
来以秒为单位提供正常运行时间:
#!/bin/sh
not_before=1800 # Number of seconds - adapt to your needs
uptime=$(cut -d . -f 1 /proc/uptime)
[ "$uptime" -ge "$not_before" ] && exec reboot
echo "Sorry, only $uptime s of uptime; you must wait $((not_before - uptime)) seconds" >&2
exit 1
答案 1 :(得分:1)
如果要在脚本中执行此操作,请使用uptime | grep "
天“ to determine whether to execute things (in an
if condition), then do anything you want inside the
if`的结果。
使该脚本可执行,并将其放入crontab中,每隔5分钟左右运行一次。
有关Cron的更多信息:https://wiki.archlinux.org/index.php/Cron