※ 글을 작성하고 확인해보니 앱스토어에서 검색이 안되고 있습니다. 왜 그런지 모르겠네요.

가끔 유닉스나 리눅스에서 작업을 하다 보면

언제 끝날지 모르는 명령을 실행해 놓고 하염없이 기다릴 때가 있다.


시간이 오래 걸리는 컴파일이라던가,

시뮬레이션이라던가....


컴퓨터 앞에 있다면 명령어 뒤에  ; echo -e "\a"  를 추가하면

명령이 종료될 경우 소리로 알려주기 때문에

어느정도 맘 놓고 다른 일을 할 수 있다.


하지만, 소리로 알려주는건 짧은 시간이고 

잠시 자리를 비운 사이 알람이 울리면 알 수가 없다.


요즘 아이폰을 쓰면서, "푸시 알림"으로 "작업이 끝났음을 알려주면 좋겠다"라고 생각했었는데,

방법이 있어서 소개하려 한다.


아이폰 어플 중에는 오직 푸시 알림을 보내기 위한 용도의 어플들이 있다.

그 중에 "pushme.to"(제작사 홈페이지)란 어플은,

어플 사용자가 아니더라도 웹 위젯을 통해 푸시 알림을 보낼 수도 있기 때문에,

잘 사용하면 아주 유용한 어플이 될 수 있을 것 같다.


pushme.to for iPhone [Free]


pushme.to for iPad [$?]


어플을 설치하고, 가입을 한 뒤

홈페이지에서 로그인을 하면


홈페이지 오른쪽 상단에 "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 "메세지"  를 추가하면, 

작업이 끝난 뒤 아이폰으로 푸시 알림을 받을 수 있다.



Posted by mahnee
이전버튼 1 이전버튼

블로그 이미지
온갖 자작과 공학 전반에 걸쳐 관심이 많은 ..
mahnee
Yesterday
Today
Total

달력

 « |  » 2024.11
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함