如何在特定正常运行时间后停止服务器?

如何在特定正常运行时间后停止服务器?

我需要在 750 小时内停止在 aws 上运行的服务器。有什么方法可以让我在该时间限制内自动完成关闭过程吗?

答案1

这是一个完成此项工作的简单 bash 脚本(将其保存为带有 .sh 扩展名的文件):

#!/bin/bash

reboot=$((750*3600))
uptime=$(awk -F. '{print $1}' /proc/uptime)

if [ $uptime -ge $reboot ]; then
  shutdown -h
fi

让我解释:

reboot=$((750*3600))

我们用秒来表示 750 小时

uptime=$(awk -F. '{print $1}' /proc/uptime)

这是系统正常运行时间(以秒为单位)

保存文件后授予其可执行权限:

chmod +x name-of-your-file.sh

您可以设置一个 cron 作业来每小时执行此脚本:

sudo crontab -e

然后粘贴此内容:

0 * * * *  /path/to/your/script.sh

相关内容