GNU/Linux >> Tutoriels Linux >  >> Linux

Arrêter automatiquement le serveur en cas d'inactivité (SSH) ?

Depuis janvier 2013, Amazon CloudWatch propose une option permettant d'utiliser Amazon CloudWatch pour détecter et arrêter les instances Amazon EC2 inutilisées. Consultez l'article de blog d'introduction Amazon CloudWatch - Actions d'alarme pour plus de détails sur cette fonctionnalité :

Aujourd'hui, nous vous donnons la possibilité d'arrêter ou résilier vos instances EC2 lorsqu'une alarme CloudWatch est déclenchée . Vous pouvez l'utiliser comme sécurité intégrée (détecter une condition anormale, puis agir) ou dans le cadre de la logique de traitement de votre application (attendre une condition attendue, puis agir). [c'est moi qui souligne]

Votre cas d'utilisation est répertorié dans la section Idées Failsafe spécifiquement :

Si vous (ou vos développeurs) êtes oublieux, vous pouvez détecter les instances EC2 inutilisées et les fermer. Vous pouvez le faire en détectant une moyenne de charge très faible pendant une période prolongée. Ce type de sécurité peut être utilisé pour réduire votre facture AWS en vous assurant que vous ne payez pas pour des ressources que vous n'utilisez pas réellement.

Comme indiqué, cela dépend de la capacité à détecter de manière heuristique la condition appropriée déclenchant l'alarme et arrêtant l'instance - vous pouvez passer au niveau supérieur en publiant des métriques personnalisées sur CloudWatch en fonction du nombre d'utilisateurs SSH connectés, du temps d'inactivité ou autrement et gagnez plus de contrôle/précision pour le processus de détection et d'arrêt souhaité à son tour.


Vous pouvez créer un script de travail cron directement sur l'instance elle-même qui utilise une commande telle que

netstat | grep ssh | grep ESTABLISHED

et si aucun résultat n'est renvoyé, écrivez-le dans le fichier, puis le cron essaie à nouveau et s'il ne renvoie à nouveau aucun résultat, le script l'exécute.

/sbin/shutdown -h now

Si tout ce que vous cherchez est de garder le serveur en marche pendant que vous êtes connecté, et votre session inactive pendant moins de n unités de temps, vous pouvez le faire via un script cron que vous avez mentionné, en surveillant la sortie de w(1) qui rapporte IDLE temps pour l'utilisateur connecté, que vous pouvez utiliser.


Linux
  1. Comment SSH sur Linux à partir d'Android

  2. Ssh, Sudo, puis télécharger ?

  3. Arrêter un Rackspace Cloud Server

  4. Pourquoi ma connexion SSH est-elle lente ?

  5. Activer la connexion par mot de passe pour SSH sur Amazon Linux AMI

Tunnellisation et proxy SSH

Serveur SSH

Comment ajouter une clé publique SSH au serveur

12 choses à faire après l'installation d'un serveur Linux

Comment SSH au serveur via Linux

Comment verrouiller votre serveur CentOS avec IPTables