2012. 8. 3. 02:37 아이폰/아이팟 터치
유닉스/리눅스 서버에서 아이폰으로 푸시 알림 보내기!
가끔 유닉스나 리눅스에서 작업을 하다 보면
언제 끝날지 모르는 명령을 실행해 놓고 하염없이 기다릴 때가 있다.
시간이 오래 걸리는 컴파일이라던가,
시뮬레이션이라던가....
컴퓨터 앞에 있다면 명령어 뒤에 ; echo -e "\a" 를 추가하면
명령이 종료될 경우 소리로 알려주기 때문에
어느정도 맘 놓고 다른 일을 할 수 있다.
하지만, 소리로 알려주는건 짧은 시간이고
잠시 자리를 비운 사이 알람이 울리면 알 수가 없다.
요즘 아이폰을 쓰면서, "푸시 알림"으로 "작업이 끝났음을 알려주면 좋겠다"라고 생각했었는데,
방법이 있어서 소개하려 한다.
아이폰 어플 중에는 오직 푸시 알림을 보내기 위한 용도의 어플들이 있다.
그 중에 "pushme.to"(제작사 홈페이지)란 어플은,
어플 사용자가 아니더라도 웹 위젯을 통해 푸시 알림을 보낼 수도 있기 때문에,
잘 사용하면 아주 유용한 어플이 될 수 있을 것 같다.
어플을 설치하고, 가입을 한 뒤
홈페이지에서 로그인을 하면
홈페이지 오른쪽 상단에 "export widget" 이란 메뉴가 있다.
이 메뉴는 자신의 홈페이지나 블로그에 자신에게 푸시 알림을 보낼 수 있는 위젯을 붙일 수 있는 소스를 만들어 준다.
위젯은 간단한 html 소스로 되어 있으므로, 쉽게 추가할 수 있다.
이것을 이용해 유닉스/리눅스에서 사용가능한 푸시 알림 보내기 쉘 스크립트를 작성했다.
위젯에서 사용하는 폼의 주요 변수는 다음과 같다.
form action : "http://pushme.to/자신의ID/"
_encoding : 문자인코딩(default : UTF-8)
message : 보낼 메세지
signature : 보내는 사람 이름
유닉스/리눅스에는 command line 에서 웹에 접근할 수 있는 명령어가 있기 때문에,
이 명령어를 이용해 스크립트를 작성했다.
#!/bin/sh
curl -s -o /dev/null -d "_encoding=UTF-8&signature=hostname&message=$1" http://pushme.to/ID/
curl 은 command line 에서 HTTP, FTP 등의 URL을 접근할 수 있는 명령어이다.
-s 와 -o /dev/null 옵션은 아무 출력도 안하도록 한 것이다.
-d 옵션은 POST 방식으로 전달될 데이터 들이다.
_encoding 은 리눅스의 경우 한글 문자셋을 UTF-8을 쓰기 때문에 기본값을 그대로 사용했다.
signature 는 서버의 호스트 이름으로 지정해 어느 서버에서 온 메세지 인지 확인 가능하도록 했다.
message 는 스크립트 명령의 인자로 받도록 했다.
이렇게 간단한 스크립트를 pushmeto 라는 이름으로 저장하고, 실행 퍼미션을 준 뒤
시간이 오래 걸리는 명령어를 실행할 때,
명령어 뒤에 ; pushmeto "메세지" 를 추가하면,
작업이 끝난 뒤 아이폰으로 푸시 알림을 받을 수 있다.
'아이폰/아이팟 터치' 카테고리의 다른 글
iPin Laser Pointer (0) | 2013.10.29 |
---|---|
iPad wifi 버전에서 iPhone의 3G 공유하기(정보, 지금은 불가) (0) | 2011.01.09 |
아이폰 스피커 독 만들기 - 1. 기존의 스피커에 iPhone dock connector 달기 (0) | 2010.10.20 |
아이폰 구매 완료!! (0) | 2009.12.03 |