본문 바로가기
컴퓨터/시놀로지

[시놀로지 NAS] 파이썬을 사용하여 WOL 매직패킷.py 실행하기(자동부팅)

by sjblog 2021. 1. 14.
반응형

1. SSH 및 Putty 설치

sjblog1.tistory.com/28

 

[시놀로지 NAS] 다운로드 스테이션 부분완료, 임시폴더에서 꺼내기

시놀로지 NAS의 다운로드 스테이션 (Download station)은 임시 폴더에 먼저 다운로드합니다. 그리고 다운로드가 완료된 경우 지정된 경로로 파일을 옮겨주게 되는데, 이러한 방식 때문에 100% 다운로드

sjblog1.tistory.com

를 참고하여 SSH 포트설정과 Putty를 설치합니다.

 

2. 파이썬3 설치

패키지 센터에서 Python3를 설치합니다.

 

<DSM 7 이상의 경우 파이썬이 내장되어 제공하므로 따로 설치할 필요가 없습니다.>

 

3. Putty 작업

파이썬이 나스에 설치되어 있지만, 패키지가 설치되어 있지 않기 때문에 패키지를 설치해보겠습니다.

 

sudo -i #root 권한 사용자 변경

wget https://bootstrap.pypa.io/get-pip.py #pip 다운로드

python3 get-pip.py #pip 설치

python3 -m pip install 패키지이름 #패키지이름 설치

 

4. 코드

import socket
import struct

mac = "00-11-22-33-44-55"	#본인의 MAC 주소를 입력해주세요!
macsplit = mac.split("-")

addrs = struct.pack("BBBBBB", int(macsplit[0], 16),
int(macsplit[1], 16)
int(macsplit[2], 16)
int(macsplit[3], 16)
int(macsplit[4], 16)
int(macsplit[5], 16))

magic = b"\xFF" * 6 + addrs * 16

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(magic,('192.168.0.255', 9))	#내부아이피주소가 다르다면 변경해주세요!
#ex) 192.168.10.255
sock.close()

mac 에는 본인의 mac 주소를 입력해주세요!

내부IP 주소가 다르면 변경해주세요! (본인의 내부IP주소를 적지 않으셔도 됩니다. ~255까지 모두 패킷을 보냅니다.)

5. 작업 스케줄러

작성한 .py 파일을 나스에 옮겨주고 이대로 Putty를 통해 실행할 수 있겠지만!

 

나스의 장점은 항상 작동되고 있다는 것이기 때문에 작업 스케줄러를 통해 원하는 시간에 작동할 수 있도록 해보겠습니다.

 

제어판 - 작업 스케줄러 - 생성 - 예약된 작업 - 사용자 정의 스크립트

 

작업 제목과 스케줄을 설정해주고 작업 설정으로 갑니다.

 

실행명령 - py파일이 존재하는 경로

ex) python3 /volume1/owner/wol.py

(당연히 앞에 python3 있어야 합니다!)

 

를 입력해줍니다. (모르겠다면, 파일 스테이션에서 찾아 속성에서 확인해줍니다.)

 

6. 작동이 되지 않는다!

간단히 말하자면, 컴퓨터 본체에 전기가 조금이라도 흐르고 있다면 컴퓨터가 종료되었더라도 컴퓨터는 켜져 있다고 인식이 되기 때문에 자동부팅이 되지 않습니다.

가령, FAST BOOTING, 빠른부팅, wake on lan 관련 등 BIOS에 이러한 항목이 체크가 되어 있다면 해제해 주어야 합니다.

최신 컴퓨터일수록 빠른부팅을 위해 컴퓨터를 완전히 종료시키지 않고 잠재우고 있습니다.

 

마찬가지로, 이러한 이유로 절전모드에서 빠져나올 수 없습니다.

또한, 컴퓨터를 종료하였더라도 USB 포트를 이용하여 기타 기기를 충전하고 있다면 자동부팅이 되지 않을 수 있습니다.

 

또,

장치관리자-네트워크 어댑터-본인의 네트워크-wake on magic packet, wake on pattern match, wake on lan

등이 존재한다면 설정을 켜주세요!

 

7. 자동부팅 후 노래목록 켜기

자동부팅 후 시작프로그램으로 원하는 프로그램을 실행시켜도 좋고, Slack으로 알림을 보낼 수도 있습니다.

간단하게 자동부팅이 완료되면 자주 듣는 노래가 나오도록 해보겠습니다.

(개인적으로, 자동부팅 후 나오는 노래를 모닝콜로 사용하고 있습니다.)

 

- Windows Media Player 를 실행합니다.

- 노래를 추가하고,

- 목록 저장합니다. (내PC-음악 에 저장됩니다. 이 파일이 자동부팅 후 실행됩니다.)

- 작업 스케줄러 열어줍니다.

- 우클릭-새 작업 만들기

- 일반탭: 이름을 넣어줍니다.

- 트리거탭: 자동부팅 후 실행할 시간 및 날짜를 입력해줍니다.

- 동작탭: 프로그램/스크립트: "C:\Program Files (x86)\Windows Media Player\wmplayer.exe"

- 동작탭: 인수 추가: /play "C:\Users\사용자\Music\재생 목록\모닝콜.wpl"

8. 자동부팅 후 유튜브 켜기

위와 마찬가지로 설정을 하고

- 동작탭: 프로그램/스크립트: "C:\Program Files\Google\Chrome\Application\chrome.exe"

- 동작탭: 인수 추가: https://www.youtube.com/watch?v=GoXPbGQl-uQ

(유튜브 YTN 실시간 뉴스 주소입니다.)

9. 자동끄기

자동부팅이 완료되면 자동으로 끌 수도 있어야 겠죠?

https://sjblog1.tistory.com/36

 

윈도우 자동종료, 작업 스케줄러 이용하기

1. 작업 스케줄러 -마우스 우클릭-새 작업 만들기 -일반탭: 이름넣기 -트리거탭: 종료할 시간 및 날짜 입력하기 -동작탭: 프로그램/스크립트: C:\Windows\System32\shutdown.exe -동작탭: 인수 추가: /p /f

sjblog1.tistory.com

 

반응형