Ubuntu 16.04 在访问 NFS 共享时阻止睡眠

Ubuntu 16.04 在访问 NFS 共享时阻止睡眠

我目前在地下室运行一台旧电脑作为 NAS。它安装了 Ubuntu 16.04(带 GUI 的普通版本),但没有连接显示器/键盘/鼠标,所以有点无头。

我希望 NAS 在不使用时关闭,并在有人尝试访问 NFS 共享时通过 WOL 启动。启动很顺利,但自动关机却不行。

我尝试使用power settings系统设置中的 ,在 1 小时不活动后自动挂起,但这似乎忽略了 NFS 活动。我也尝试过使用xscreensaver,但它也有同样的问题。

有谁知道如何解决这个问题或者遇到过类似的问题?

答案1

谢谢你的指点xset s reset 用户.dz

可以使用netstat -an | grep serverip:nfsport该命令获取所有活动的(已安装的)NFS 共享。如果此命令未输出任何内容,则服务器可以关闭而不会中断任何用户。

使用标准power settings自动暂停和一个通过 cronjob 定期运行的简单脚本(见下文)我可以实现我想要的行为。

#!/bin/bash
if [[ $(netstat -an | grep 192.168.178.22:2049) ]]; then
    env DISPLAY=:0 xset s reset
fi

此脚本运行上述命令并检查是否生成任何输出。如果是的话(至少挂载了一个 NFS 共享),则将重置空闲时间,从而取消暂停。

192.168.178.22是我的 NAS 的 IP,2049是标准 NFS 端口。

相关内容