J'utilise actuellement un ancien ordinateur en tant que NAS dans mon sous-sol. Il a Ubuntu 16.04 (la version normale avec interface graphique) installé, mais aucun moniteur/clavier/souris n’est connecté, donc sans tête.
J'aimerais que le NAS s'éteigne lorsqu'il n'est pas utilisé et démarre via WOL lorsqu'un utilisateur tente d'accéder à l'un des partages NFS. Le démarrage fonctionne à merveille, mais l’arrêt automatique ne l’est pas.
J'essayais d'utiliser power settings
à partir des paramètres système pour suspendre automatiquement les activités après une heure d'inactivité, mais cela semble ignorer l'activité NFS. J'ai aussi essayé d'utiliser xscreensaver
, qui a le même problème.
Quelqu'un at-il une idée sur la façon de résoudre ceci ou a eu un problème similaire?
Merci pour le pointeur sur xset s reset
ser.dz !
On peut utiliser netstat -an | grep serverip:nfsport
pour obtenir tous les partages NFS actifs (montés). Si cette commande n’affiche rien, le serveur peut s’arrêter sans interrompre aucun utilisateur.
En utilisant le power settings
standard pour suspendre automatiquement et un script simple (voir ci-dessous) exécuté périodiquement avec un cronjob, je peux obtenir le comportement souhaité.
#!/bin/bash
if [[ $(netstat -an | grep 192.168.178.22:2049) ]]; then
env DISPLAY=:0 xset s reset
fi
Ce script exécute la commande mentionnée et vérifie si une sortie est générée. Si tel est le cas (au moins un partage NFS est monté), le temps d'inactivité est réinitialisé et, par conséquent, la suspension est annulée.
192.168.178.22
est l'adresse IP de mon NAS et 2049
est le port NFS standard.