Lomohome.com :: 괴발자 모근원



맥미니를 이용하여 홈서버를 구축하여, CCTV, 웹하드, FTP, 토렌트 다운로드 및 DLNA 등의 서비스를 돌리고 있습니다.

토렌트 다운로드는 많이 알려진 방법대로, Dropbox 의 특정폴더에 torrent 시드파일을 넣으면 uTorrent 에서 땡겨서 다운로드를 받게 만들어두었습니다.

이렇게 하면 외부 어디서든 Dropbox 에 시드파일만 올린다면 집의 서버가 알아서 다운로드를 시작하겠지요.

저는 Request Download 파일이라는 드랍박스 폴더를 만들고, 해당 폴더에 torrent 파일이나 각종 파일들을 다 던져 두면 알아서 파일의 확장자를 가지고 알맞는 폴더로 던져주는 AppleScript 를 이용하고 있습니다.

여기서는 제가 쓰는 AppleScript 의 일부를 보여주고, 대강의 사용법을 알려드리겠습니다.

이 포스팅에서 쓰이는 시나리오는 다음과 같습니다.


1. Request Download 라는 폴더는 torrent 시드파일과, smi, srt 등의 자막파일이 올라올수 있습니다.

2. 토렌트 시드파일은 uTorrent 에서 땡겨가면서 삭제합니다. 토렌트 다운로드가 완료되면 Downloads 라는 폴더에 저장합니다.

3. smi, srt 확장자를 가진 파일은 AppleScript 를 통하여 바로 Downloads 폴더로 옮겨갑니다.

4. Downloads 폴더에 들어간 smi, srt 파일들은 또한 AppleScript 를 통하여 같은 이름을 가진 폴더로 들어갑니다.


먼저 첨부된 스크립트 파일을 확인해주세요.


MoveFileByExt.scpt


moveSubtitleToEachFolder.scpt


내용은 다음과 같습니다. 간략한 설명을 첨부하였습니다.

다운받은 스크립트를 더블클릭하여 경로 등, 자신의 환경에 맞게 수정해주세요.


MoveFileByExt.scpt (이건 Request Download 폴더에 걸 폴더액션 스크립트입니다. 자막파일을 Downloads 로 옮기는거에요.)


moveSubtitleToEachFolder.scpt (이건 Downloads 폴더에 걸 폴더 스크립트입니다. 자막파일을 같은이름의 폴더로 옮기는거에요.)


스크립트 파일을 수정했으면, (다른 확장자를 추가해도 되고, 목적폴더를 여러개 만들어서 if 문을 추가해도 되구요..)

파인더 위의 메뉴바중 [이동] 메뉴에서 [옵션] 키를 누른상태로 라이브러리로 갑니다.

라이브러리 - Scripts - Folder Action Scripts 폴더안에다가 스크립트 파일을 넣어줍니다. (폴더 없으면 만드셔요)



그리고 드랍박스의 Request Download 폴더에서 우클릭, 서비스 - 폴더 적용 스크립트 설정을 클릭합니다.

먼저 이곳에 자막파일이 들어오면 Downloads 폴더로 옮길거에요~


이런 창이 뜨는데 아까 라이브러리 Folder Action Scripts 에 넣어둔 스크립트가 뜰거에요.

MoveFileByExt.scpt 스크립트를 선택합니다.


그럼 위와같이 적용이 됩니다.

그다은, Downloads 폴더에도 스크립트를 걸어줍니다. 이번엔 자막파일을 같은이름의 폴더로 옮기는 스크립트를 걸었어요~




스크립트 설정을 마치고 테스트를 해봤습니다.

Downloads 밑에 AA라는 폴더를 만들고 aa.smi 파일을 Request Download 폴더에 넣어봤더니

Downloads 폴더로 먼저 옮겨간후, Downloads 밑의 AA 까지 잘 옮겨가는것을 확인할수 있습니다.


아래스크린샷은 먼저 Request Download -> Downloads 로 aa.smi 가 옮겨가는 장면,

그리고 AA 폴더를 가만히 보고 있자니..


aa.smi 가 AA 폴더까지 최종적으로 옮겨갔습니다.

아직 저도 AppleScript 를 제대로 공부해본건 아니고, 구글링을 해서 이것저것 짬뽕해서 만들다보니 뭐가 뭔진 잘 모르겠는데요,

조금 공부해보면 파일관리에 굉장히 유용한 방법인것 같습니다. 주기적으로 폴더를 다른곳으로 백업한다던가 하는 스크립트도 짜볼수 있겠구요 (rsync 이용)


신고
Posted by Geunwon Mo 모근원
  1. 좋은 정보 감사합니다.