2012-11-28 2 views
0

야간에 엄청난 양의 데이터를 다운로드하고 있으며, PC를 UPS를 통해 실행 중입니다. 전원 장애를 감지하고 내 PC가 자동으로 종료되도록 명령 할 수있는 방법이 있습니까? 밤에 일하기 때문에 PC를 끌 수있는 사람이 없으므로 아무도 도움이 될 수 있다면 정말 도움이 될 것입니다. 가능한가?PC가 UPS 전원으로 작동 중이고 컴퓨터가 종료되었습니다.

감사합니다.

+0

Linux에 있습니까? 어느 배포판? 커널의 전원 관리 기능이 이에 대응하여 이벤트를 생성한다고 생각합니다. Google for ACPI 및 배포판 – tripleee

답변

3

중요 : 아래의 스크립트는 네트워크가 다운 될 때마다 시스템이 종료되므로 사용자의 책임하에 사용하십시오!

ICMP 에코 요청에 응답하고 UPS로 전원이 공급되지 않는 네트워크 호스트 (예 : 라우터)가 있거나 적어도 네트워크 장비가 전원을 공급받지 않는 경우 UPS가), 호스트 몇 초마다 ping을하는 것입니다 그리고 종료는 PC 다음 아래의 경우 : 당신은 당신이 핑하려는 네트워크 호스트의 IP 주소에 192.168.0.1을 변경해야합니다

#!/bin/bash 
while : 
do 
    ping -c 1 -w 5 192.168.0.1 &> /dev/null 
    if [ $? -gt 0 ]; then 
    shutdown -hP now 
    break 
    fi 
    sleep 10s 
done 

은.

또한 chmod +x <script_name>으로 스크립트를 실행하고 /etc/rc.local에에 전화를 걸해야합니다 부팅 루트로 스크립트를 실행할 (백그라운드에서 실행되도록하기 위해 &를 추가하는 것을 잊지 마세요). PC가 다음 배치 파일을 사용할 수있는 윈도우 XP의 하나를 실행 한 경우

완성도 '를 위해서

는 :

:loop 
ping -n 1 -w 5000 192.168.0.1 
if not %ERRORLEVEL% == 0 (
    shutdown -s 
    goto end 
) 
sleep 10 
goto loop 
:end 

윈도우 배치 파일은 Windows의 일부로 설치할 수 있습니다 sleep 명령을 필요로하는 것으로 Server 2003 Resource Kit 도구 패키지 (available as a free download from Microsoft's site)

+0

나는 이것을 시도해도 잘 작동합니다 -이 요지에서 많은 변수를 가진 완전한 스크립트를 찾습니다 : https : // gist.github.com/thanosa75/d0eb2a30cf280948c0155fcc17b0d4be – thanosa75

0

APC이고 데이터 포트가있는 경우 PowerChute를 사용할 수 있습니다. 그것은 당신이 요청한 것을 정확히 수행하는 자바 기반의 GUI입니다 (이것이 당신의 서버라면 문제가 될 수 있습니다).

+0

아무 남자도 없습니다. 나는 그물에서 언급 한 C를했다. 그래, 내가 원하는 걸 해낸다. 그러나 이것은 다른 브랜드, 나는 다른 방법이 필요합니다. 어쨌든 ... 감사합니다. :) – Sp3LLingzz