我目前在地下室运行一台旧电脑作为 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 端口。