我每周只有几天每天真正使用服务器几个小时。
它是一个备份服务器,它向客户端请求备份数据。
该部分已得到处理,它通过预定的魔术包唤醒并执行其操作。这都很好。我可以唤醒它以在计划外使用它,这也很好。
我怎么让它知道网络有一段时间没有被使用并让自己进入睡眠状态?我想要记录的网络流量是 SSH、SFTP、rsync 和来自 Canonical 的更新。所有其他流量只是我不在乎的喋喋不休。
我想将以下伪代码作为 cron 脚本放入......每 15 分钟左右检查一次。我不担心添加 cron 功能,我对此充满信心。
if [ lastSignificantNetworkActivity > 3h ] { hibernate }
我可能有 X->Y 问题。我只想让我的服务器在通常的 18 小时内处于低功耗保存到磁盘状态,否则它什么也不做。我认为网络活动是一个很好的测试指标。我愿意接受更发达和更强大的解决方案或固有的服务器属性来检查是否存在。
(我不确定每天的电源循环是否会比 ZFS 整天运行数据完整性检查的持续磨损更糟……只是不确定。)