开机时间超过30分钟后重启电脑
Restart the computer when the power on time exceeds 30 minutes
我目前通过正常运行时间来控制它。
如果正常运行时间大于 1 小时,计算机将重新启动。
但是我不知道电脑是开一天还是更久怎么控制,因为目前我只控制时间
是否可以控制正常运行时间的天数、小时数和分钟数?
开机时间大于1小时需要重启电脑。
如果时间为1天0小时则失败。
对不起我的解释,它是一个脚本做一系列的事情,最终存在这个函数负责控制这个参数。
感谢阅读我
如果您想在脚本中执行此操作,请使用 uptime | grep "
天的结果"to determine whether to execute things (in an
ifcondition), then do anything you want inside the
if`。
使该脚本可执行并将其放入 crontab 中,每 5 分钟左右 运行。
有关 Cron 的更多信息:https://wiki.archlinux.org/index.php/Cron
不确定我是否完全理解您的问题。
如果您希望您的计算机总是在特定时间后重新启动,这很不寻常,那么请使用 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小时需要重启电脑。 如果时间为1天0小时则失败。
对不起我的解释,它是一个脚本做一系列的事情,最终存在这个函数负责控制这个参数。
感谢阅读我
如果您想在脚本中执行此操作,请使用 uptime | grep "
天的结果"to determine whether to execute things (in an
ifcondition), then do anything you want inside the
if`。
使该脚本可执行并将其放入 crontab 中,每 5 分钟左右 运行。
有关 Cron 的更多信息:https://wiki.archlinux.org/index.php/Cron
不确定我是否完全理解您的问题。
如果您希望您的计算机总是在特定时间后重新启动,这很不寻常,那么请使用 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