|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 420
|
Spegnimento automatico Ubuntu quando inattivo
Ciao a tutti, ho un microserver HP N40L con su installato ubuntu desktop cui funge da server NAS per XBMC. I file video e dati vengono condivisi tramite Samba.
I client possono connettersi al server con XBMC per mezzo di un file xml che gli dice praticamente dove si trova il server e le relative cartelle e file, inoltre ogni client può accedere manualmente attraverso le risorse di rete o via terminale al server. Detto questo, ho creato una procedura sui client in modo tale che quando questi client vengono accesi, in automatico viene acceso anche il server attraverso wake on lan. L'esigenza che ho è che il server venga spento o ad orari programmati o quando i vari client vengano spenti e comunque esser sicuri che la procedura di spegnimento vada a buon fine solo quando non vi è nessuno loggato sul server tramite terminale o risorse di rete, oppure che non stia accedendo tramite samba. So che in Ubuntu si può usare crontab per programmare attività, ma non so come dettare le condizioni. Avete idea o qualche suggerimento da darmi ? Grazie mille a tutti. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 3233
|
Wikipedia risponde alla tua domanda:
https://it.wikipedia.org/wiki/Crontab#Campi |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Sep 2008
Messaggi: 420
|
Quote:
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 1999
Città: Padova
Messaggi: 561
|
Se i client hanno un IP fisso,
prova a fare uno script bash che fa ping ai client, se nessuno client risponde procedi con lo spegnimento. Lo script lo inserisci in crontab e lo esegui ad orari stabiliti, etc.. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2001
Città: Kendermore
Messaggi: 6656
|
Quello di cui hai bisogno può essere tranquillamente fatto con un po' bash scripting.
Per avviare il nas all'avvio dei client è molto semplice, crei uno script che lancia wakeonlan seguito dal mac address del nas e lo piazzi all'avvio in /etc/rc.local (oppure crei una unit che parta all'avvio nel caso di systemd). Per lo shutdown la cosa è un po' più complessa, lanciare lo shutdown in se è molto semplice (ssh root@nas "shutdown -h now"), idem per far partire il comando alla chiusura (metti uno script in /etc/rc.6 o fai una unit systemd. Diventa un po' più interessante il controllo se ci sono altri client attivi e connessi via samba, potresti fare uno script bash che fa un controllo dei client connessi usando smbstatus sul nas, e solo in caso negativo lanciare lo shutdown del nas, altrimenti exit 0. Per autenticarti sul nas con tutti questi comandi remoti usa i certificati, con le password rischieresti l'esaurimento nervoso. ![]() Happy scripting ![]()
__________________
https://tasslehoff.burrfoot.it | Cloud? Enough is enough! | SPID… grazie ma no grazie "Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say." Ultima modifica di Tasslehoff : 09-12-2015 alle 21:32. |
![]() |
![]() |
![]() |
#6 | ||
Senior Member
Iscritto dal: Sep 2008
Messaggi: 420
|
Quote:
Intanto ti ringrazio per il consiglio. Mi devo studiare un pò di scripting bash e poi provare. Quote:
Ti chiedo scusa ma avevo omesso alcuni dettagli: i client sono tutti windows o mac, di altri ubuntu ce ne sono ma non vengono usati come riproduttori, ad ogni modo ho capito benissimo la tua idea ed infatti almeno su windows per ora ho fatto una cosa simile con pianificazione dell'attivazione di un collegamento tramite prompt. Grazie mille in ogni caso per la dritta, nel caso dovessero subentrare dei pc riproduttori con ubuntu sfrutterò senz'altro il tuo consiglio. Per quanto riguarda lo shutdown, ti ringrazio ed effettivamente era anche molto semplice il solo comando che hai indicato (non ci avevo proprio pensato). Sui client che fanno esclusivamente da riproduttore posso implementare la procedura di invio del comando dello spegnimento del nas allo spegnimento del client stesso, dopodichè sul nas devo poter gestire questo comando, e cioè se non c'è nessun altro attivo sul nas allora il nas consente l'esecuzione del comando altrimenti resta acceso. (questo controllo sarà ostico perchè ad esempio potrei a volte essere collegato io tramite ssh, ma vabbè vedrò di trovare una soluzione...) Stavo pensando che forse mi conviene fare un mix del tipo, il nas viene spento sempre ad orari programmati tipo alle 3 o 4 di notte e nel caso ci sia qualcuno ancora attivo di posticipare lo spegnimento. Una volta spento, il nas resta spento solo fino a quando il primo client che si collecherà non gli manderà un pacchetto wake on lan, in questo modo eviterei un sacco di problemi (metti caso che qualche client si riavvi 2-3 volte a causa di qualche aggiornamento etc dopo il nas si riavvierebbe altrettante volte). Grazie infinite. |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:13.