일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AutoNotification
- DIY
- Renegade
- Slim Spen
- 3d print
- Surface Duo2
- 자작
- google pixel
- tasker
- autosync
- AutoInput
- 구글포토
- 픽셀폰
- kospet
- bumper
- 3D Printer
- Joaoapps
- 구글 포토
- bluetooth
- TalkBand B6
- case
- Google Photo
- huawei
- galaxy tab s6
- 알리
- Fold3
- Meta Quest
- Duo
- Jeep
- surface duo
- Today
- Total
잡동사니
구글 포토 & 픽셀 자동화 (14) - FTP를 이용한 사진 업로드 자동화 본문
이전에 아래 두개 글에 걸쳐 설명한 방법으로 메인폰에서 찍은 사진을 픽셀폰을 통해서 구글 포토 서버에 자동으로 업로드 되도록 작업을 해 두었다.
https://seung275.tistory.com/272
구글 포토 픽셀폰 이용하기 (7) - On Demand 방식의 사진 자동 업로드
기존 사진들은 대충 정리가 다 되었다. 참 오래걸렸다. T.T 이제는 앞으로 새로 찍는 사진들을 구글 픽셀 이용해서 자동으로 업로드 되도록 만들어야 할 상황이다. 이 부분은 검색을 해보면 많은
seung275.tistory.com
https://seung275.tistory.com/273
구글 포토 픽셀폰 이용하기 (8) - 사진 자동 업로드를 위한 Tasker 작업
앞의 글에서 설명한 Tasker의 Remote Action Execution을 이용하여 아래와 같이 작동되도록 만든다. 1. (메인폰) 'DCIM/Camera'라는 디렉토리를 모니터링 하다가 여기에 새로운 화일이 생성되면 (새로 사진
seung275.tistory.com
일반적인 경우에는 의도한것과 같이 잘 작동된다. 사진이 하나 하나 찍힐때 마다 "메인폰 -> OneDrive -> 픽셀폰 --> 구글포토서버"로의 화일 동기화가 즉시 잘 이루어진다. 문제는 동영상과 같이 화일 사이즈가 클 때 위 루프상의 어딘가가 완료되지 않는데 확인없이 후속 과정이 일어나는 경우가 있는것 같다. 그래서 동영상의 경우는 동영상이 생성되었을때 바로 구글 포토 서버로 업로드가 되지 않고 그 다음번 동기화 이벤트가 일어날 때 뒤늦게 동기화가 되는 경우가 생기고 있다.
그림으로 현재 상황을 표현해 보았다.
각 과정이 정상적으로 이루어졌는지 판단이 이루어 진 후 다음 과정이 이루어 져야 하는데 위 상황처럼 중간에 클라우드가 들어간 상태에서는 이게 어렵다. 클라우드에서 특정 화일이 존재하는지 확인할 수 있는 방법을 tasker로 구현할 수 없는지 한참을 찾아보았는데 딱히 그럴싸한 방법을 찾지 못했다.
이런식으로 중간에 클라우드를 거쳐서는 방법이 없다고 판단하고 메인폰에서 곧바로 픽셀폰으로 화일을 전송해 줄 수 있는 방안을 찾아보았다. 결국 픽셀폰에서 FTP서버를 돌리고 이를 활용하기로 했다. 구체적인 방법은 아래와 같다.
일단 픽셀폰에 FTP 서버를 깔아야 하는데 많은 프로그램을 사용해보지는 못했지만 아래 Swiftp FTP Server가 쓰기 괜찮았다. 이것 이전에 CX 화일 탐색기에서 제공하는 FTP 서버기능을 사용해봤는데 "421 too many connections" 라는 에러를 처리하기가 힘들었다. 전송이 필요한 화일마다 connection을 만드는데 전송이 끝나면 connection을 끊어주어야 하지만 그렇지 못하는 것 같다. 암튼 Swiftp FTP 서버는 이런 에러를 안겪어도 되기도 하고 Tasker에서 plugin이.제공되어 Tasker로 Server 가동과 중단을 할 수 있어서 좋다.
https://play.google.com/store/apps/details?id=be.ppareit.swiftp
FTP Server - Google Play 앱
당신의 안드로이드 장치에 대한 신속 FTP 서버.
play.google.com
위 내용을 참고해서 픽셀폰에 FTP Server 앱을 설치한다. 이전에 미리 Camera 사진, 카카오톡 사진, 카카오톡 동영상, 스크린샷, 기타사진 - DCIM Root에 생성되는 - 들을 픽셀폰의 어느 디렉토리에 FTP로 가져올지를 정해야 한다. 그리고 FTP 서버앱에서 계정을 만들때 이 내용을 활용해야 한다. 각각 아래와 같이 정했다.
- Camera 사진 - /storage/emulated/0/DCIM/Camera
- 카카오톡 사진 - /storage/emulated/0/DCIM/kakao
- 카카오톡 동영상 - /storage/emulated/0/DCIM/KakaoMovie
- 스크린샷 - /storage/emulated/0/DCIM/ScreenShot
- 기타 - /storage/emulated/0/DCIM
디렉토리명은 어떻게 해도 좋지만 DCIM 디렉토리 아래에 두어야 자동 백업이 된다. FTP Server앱이 좀 이상한게 계정마다 접근할 수 있는 디렉토리를 부여해놔서 결국 접근하고 싶은 디렉토리별로 계정을 여러개 만들어야 했다. 각각 pc, pckakao, pakakaomovie, pcshot, pcroot와 같이 계정명을 부여했다.
이제 AutoSync쪽 작업 내용이다.
메인폰에 AutoSync를 설치하고 AutoSync앱 구동후 클라우드 스토리지 계정을 아래와 같이 만든다. 물론 FTP로 지정해야 하고 각 위에 만들어둔 계정별로 만들어야 한다.
https://play.google.com/store/apps/details?id=com.ttxapps.autosync&hl=ko
Autosync - File Sync & Backup - Google Play 앱
Google Drive, OneDrive, Dropbox, MEGA, pCloud,...을 위한 파일 동기화 및 백업
play.google.com
카메라, 카톡사진, 카톡영상, 스샷, 기타의 다섯개 FTP 계정별로 클라우드 저장소를 따로 만들어 준다. 내부 네트워크 용도 외 외부 네트워크 용도로도 별도로 클라우드 저장소를 만들어 주었다. Tasker에서 저장소 명으로 컨트롤이 되므로 이를 활용하기 위해 저장소 이름을 IN~, OUT~으로 구분하여 지정했다.
동기화 대상 폴더도 위와 같이 작업해 준다. 각각 메인폰의 어떤 폴더를 어떤 클라우드 저장소 (여기서는 FTP 서버)로 저장시킬 것인지를 정해준다.
여기까지 작업한 후 정상적으로 작동하는지 여부를 확인해 볼 수 있다. 가령 스크린 샷을 메인폰에서 만든 다음 위 화면의 "동기화된 폴더" 항목에서 스크린샷 부분을 활성화 시키고 활성화 탭에서 우측 하단의 동기화 아이콘을 터치하면 활성화 탭 화면에서 동기화 결과가 나타난다.
위 화면과 같이 진행되었으면 해당 화일이 픽셀폰으로 넘어갔다는 이야기이므로 픽셀폰에서 구글 포토앱이 구동되어 있다면 수초 가량 대기후 구글 포토 서버로 업로드가 완료되는 걸 볼 수 있다.
이제 위 작업을 자동화 시켜야 하고 이를 위해서 Tasker로 스크립트를 만들어주어야 한다. 이에 앞서 Autosync에서 하단탭 "더보기 --> 설정 --> 자동화"를 선택하고 아래 화면에서 자동화 항목을 "사용"으로 만들어 주어야 Tasker에서 Autosync를 제어할 수 있다. 아래 "비밀코드" 항목도 Tasker에서 사용해야 하므로 잘 봐둔다. 그 아래 "사용 가능한 작업" 항목도 잘 봐둘 필요가 있다. 여기를 터치하면 아래 URL로 연결되고, Tasker에서 Autosync를 어떻게 활용하는지를 잘 설명하고 있다.
https://metactrl.com/autosync/automation/
Autosync Automation - MetaCtrl
Prague, Czech Republic hello@metactrl.com Copyright © 2011-2025 MetaCtrl
metactrl.com
위 작업까지 했으면 이제 Tasker에서 아래 작업을 해준다.
카메라, 카톡사진, 카톡영상, 스샷, 기타의 5개 이벤트 발생에 대해 내부 네트워크용과 외부 네트워크용 총 10개의 프로파일을 만들고 이에 대응하는 테스크를 지정해준다. 현위치가 집인지 집이 아닌지의 판단은 집에 있는 와이파이 신호를 Wifi Near로 판단했다. (집이 아닌지 판단은 Wifi Near의 Invert를 옵션으로 주면된다.) 카메라, 카톡사진, 카톡영상, 스샷, 기타의 이벤트 발생 상황 판단은 각 메인폰의 아래 지정된 디렉토리에 File Modified 이벤트 및 ClosedWrite 이벤트가 발생하였는지 여부로 판단한다.
- Camera 사진 - /DCIM/Camera
- 카카오톡 사진 - /Pictures/KakaoTalk
- 카카오톡 동영상 - /Movies/KakaoTalk
- 스크린샷 - /DCIM/Screenshots
- 기타 - /DCIM
내부 네트워크 일때(메인폰이 집의 내부 네트워크망에 연결되어 있는 경우)의 사진, 카톡사진, 카톡영상, 스샷, 기타의 5개 이벤트 발생시는 InSyncCamera 테스크를 수행하고 외부 네트워크에서는 OutSyncCamera 테스크를 수행하도록 했다. 아래는 InSyncCamera 테스트의 내용이다. 메인폰의 AutoSync의 동기화를 수행한 후 픽셀폰 화면을 켠 후 구글 포토 앱을 실행하는 내용이다.
아래는 위 Send Intent - Action syncNow 테스크의 내용이다. 상세한 작성방법은 아래 URL에서 잘 설명하고 있다.
https://metactrl.com/autosync/automation/
Extra의 secret 항목에는 Autosync앱의 하단탭 "더보기 --> 설정 --> 자동화" 화면에 나오는 "비밀코드"를 정확히 써주어야 한다. Extra folderPairs 항목에서는 어떤 "동기화된 폴더" 항목을 동기화 시킬지를 정할 수 있다. 아래는 INFTP로 시작하는 이름의 폴더들을 동기화 시키라는 의미가 되겠다. 이와 유사하게 OutSyncCamera 테스크도 작업을 해주면 된다.
여기까지가 작업의 주요내용이다. 이외 FTP server on, FTP server off 는 메인폰에서 픽셀폰의 FTP 서버를 강제로 구동하거나 구동 중지시킬 필요가 있어서 만들어 놓은 테스크이고 아래 URL에 소개해 놓은 Remote Action Execution을 이용하면 쉽게 구현할 수 있다.
https://seung275.tistory.com/272
enable In, disable Out은 내부 네트워크 일 때(에서) Autosync앱의 "동기화된 폴더" 항목에서 INFTP~ 폴더들을 활성화시키고, OUTFTP~ 폴더들을 비활성화 시키기 위한 테스크이다. enable Out, disable In 테크스도 이와 유사하게 반대 폴더들을 활성, 비활성 시키기 위한 테스크이다. 구현 방법은 아래 URL을 참고하면 된다. (내부 네트워크 상황에서 Autosync앱에서 OUTFTP~ 폴더들을 활성화 시켜놓고 수동 동기화를 시키면 에러가 발생한다. 집안인지 집밖인지를 확인해서 자동으로 폴더 활성화를 적절하게 바꿔주기 위한 테스크이다.)
https://metactrl.com/autosync/automation/
위 내용에도 언급되어 있지만 집 밖에서는 동기화 작업을 하지 않고 집 안에서만 할 경우라면 따로 OUTFTP~ 폴더나 계정들을 안만들어도 된다. 집밖에서도 외부 네트워크로 픽셀폰의 FTP에 접근하려면 위에 OUTFTP~ 폴더 및 계정 작업들도 해주어야 하지만 그에 앞서 포트포워딩 작업을 해줘야 한다. 이 부분은 다음번 글에서 작성하겠다.
그리고 위와 같이 작업해놓으면 지정된 이벤트 발생시 사진이건 동영상이건 상관없이 항상 즉시 구글 포토서버로 작업이 완료된다. 거의 직접 구글 포토 서버로 백업하는 것과 차이가 없이 쾌적하게 사용할 수 있다. 물론 동영상 화일도 누락없이 잘 전송된다. 작업 내용이 좀 번잡스럽긴 하지만 해놓고 나니 매우 만족스럽다.
'구글 포토 & 픽셀 자동화' 카테고리의 다른 글
구글 포토 & 픽셀 자동화 (16) - 자동업로드 세세하게 손본것들 (0) | 2025.01.28 |
---|---|
구글 포토 & 픽셀 자동화 (15) - 네트워크 외부접속을 위한 포트포워딩 (1) | 2025.01.27 |
구글 포토 & 픽셀 자동화 (13) - Syncthing (0) | 2025.01.17 |
구글 포토 & 픽셀 자동화 (12) - 픽셀폰 충전상태 원격확인 (0) | 2025.01.17 |
구글 포토 & 픽셀 자동화 (11) - 사진 강제 업로드 위젯 만들기 (0) | 2025.01.17 |