GNU/Linux >> Linux Esercitazione >  >> Linux

Spegni automaticamente il server in caso di inattività (SSH)?

A partire da gennaio 2013 Amazon CloudWatch offre un'opzione per utilizzare Amazon CloudWatch per rilevare e arrestare le istanze Amazon EC2 inutilizzate. Consulta il post introduttivo sul blog Amazon CloudWatch - Azioni di allarme per i dettagli su questa funzionalità:

Oggi ti diamo la possibilità di fermarti o termina le tue istanze EC2 quando viene attivato un allarme CloudWatch . È possibile utilizzarlo come failsafe (rilevare una condizione anomala e quindi agire) o come parte della logica di elaborazione dell'applicazione (attendere una condizione prevista e quindi agire). [corsivo mio]

Il tuo caso d'uso è elencato nella sezione Failsafe Ideas in particolare:

Se tu (o i tuoi sviluppatori) siete smemorati, potete rilevare le istanze EC2 inutilizzate e chiuderle. Puoi farlo rilevando una media di carico molto bassa per un periodo di tempo prolungato. Questo tipo di failsafe potrebbe essere utilizzato per ridurre la fattura AWS assicurandoti di non pagare per risorse che non stai effettivamente utilizzando.

Come indicato, ciò dipende dalla capacità di rilevare euristicamente la condizione appropriata che attiva l'allarme e arresta l'istanza:potresti passare al livello successivo pubblicando parametri personalizzati su CloudWatch in base al numero di utenti SSH che hanno effettuato l'accesso, al tempo di inattività o altrimenti e ottenere a sua volta maggiore controllo/precisione per il processo di rilevamento e spegnimento desiderato.


Potresti creare uno script di lavoro cron direttamente sull'istanza stessa che utilizza un comando come

netstat | grep ssh | grep ESTABLISHED

e se non viene restituito alcun risultato, scrivilo nel file, quindi il cron riprova e se non restituisce nuovamente alcun risultato lo script lo esegue.

/sbin/shutdown -h now

Se tutto ciò che stai cercando è mantenere il server in esecuzione mentre sei loggato e la tua sessione inattiva per meno di n unità di tempo, puoi farlo tramite uno script cron che hai citato, monitorando l'output di w(1) che riporta IDLE tempo per l'utente connesso, che puoi utilizzare.


Linux
  1. Blocco di sshd

  2. Ssh, Sudo, quindi Scarica?

  3. Arresta un server Rackspace Cloud

  4. Come spegnere un computer con un particolare indirizzo IP?

  5. Abilita l'accesso tramite password per SSH su Amazon Linux AMI

Tunneling e proxy SSH

Server SSH

Come aggiungere la chiave pubblica SSH al server

12 cose da fare dopo aver installato un server Linux

Come eseguire l'SSH sul server tramite Linux

Come bloccare il tuo server CentOS con IPtables