У меня есть сервер, размещенный на EC2 . Сервер построен на Linux AMI , основанном на CentOS. Он посвящен клиентскому проекту, и я подключаюсь через SSH. Иногда я забываю отключить сервер, когда он не используется, что приводит к ненужным затратам.
Как сделать так, чтобы сервер автоматически отключался при неактивности, например, через 30 минут без подключения SSH?
Естественно, я ищу самое простое решение. Проверка каждый час или около того также будет в порядке, просто то, что работает надежно.
источник
Если все, что вам нужно, это поддерживать работу сервера, пока вы вошли в систему, и сеанс бездействует менее
n
единицы времени, вы можете сделать это с помощью скрипта cron, который вы упомянули, отслеживая выводw(1)
которого сообщаетIDLE
время для вошедшего в систему пользователя, которое вы можете использовать.источник
w
действительно выглядит интересно. Чтобы получить время простоя в секундах для пользователяec2-user
:w -hs ec2-user | sed -e 's/.* \([0-9]\+\.[0-9]\{2\}\)s .*/\1/'
nobody
в систему, то пришло время отформатировать и переустановить.Вы можете создать скрипт задания cron прямо на самом экземпляре, который использует такую команду, как
и если результат не возвращается, запишите его в файл, тогда cron пытается снова, и если он не возвращает результатов снова, скрипт запускает это.
источник
У меня также есть несколько экземпляров EC2, которые я использую только время от времени. Вот сервис systemd, который я сделал, который закрывает случай, когда в течение некоторого времени нет активности SSH.
источник