활성 사용자가 없으면 서버를 종료하는 스크립트

활성 사용자가 없으면 서버를 종료하는 스크립트

cron을 사용하여 5분마다 실행되는 bash 스크립트를 작성하고 로그인한 활성 사용자가 있는지 확인하고 로그인한 활성 사용자가 없으면 종료됩니다. 나는 이것을 생각해 냈습니다 :

#!/bin/bash                                                                                                                            
u=`users`;                                                                                                                             
l=${#u};                                                                                                                               
if [ $l -lt 2 ]                                                                                                                        
then                                                                                                                                   
        halt                                                                                                                           
fi  

이것이 효과가 있을지, 아니면 users마지막 연결 해제 후 예상치 못한 결과를 반환할지 궁금했습니다.

추가 정보:

내가 깨달은 또 다른 사실은 방금 집에서 실행 중인 시스템에서 이것을 시도했고 Arch다음과 같은 결과를 얻었습니다.

[ron@osboxes ~]$ users
[ron@osboxes ~]$ who
[ron@osboxes ~]$

어떻게 그래? 나는 활성 로그인 사용자인 것이 분명합니다. 그렇지 않습니까?

답변1

이것은 댓글이어야 하지만 50명의 담당자 포인트가 없으므로 이 댓글을 답변으로 게시하면 더 많은 손실을 입을 것입니다 :)

이 스크립트를 5분마다 실행하면 시작 시 로그인하기 전에 서버가 종료될 수 있습니다. 따라서 이것은 좋은 생각이 아닙니다. 시스템 타이머를 작성합니다.

관련 정보