구글 드라이브를 Synology NAS에 마운트 하는 방법 - rclone
rclone, synology, google team drive, telegram push rclone 를 아래 경로에서 다운 받는다. 제 경우 syno...
blog.naver.com
clone, synology, google team drive, telegram push
rclone 를 아래 경로에서 다운 받는다.
제 경우 synology 411+ (intel cpu) 라 linux에 386 으로 다운로드
https://rclone.org/downloads/
압축풀고 ( synology 에서는 7z 로 풀면 됨 )
풀어논 경로로 들어가서
https://rclone.org/install/
여기 사이트에서 설치 방법대로 진행한다.
요약 : 단독 실행파일이라 실행 권한 주고, /usr/bin 으로 복사
(아래 한줄한줄 실행)
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
이제 rclone 환경설정을 해야 한다.
(클라우드 종류 선택)
난 구글 드라이브 중에서도 파생되어 나온 구글 팀 드라이브
다행이 rclone 에서 지원을 해주니 ... 이 글을 적는것이다. ㅋ
자세한 config 설정은 아래 링크를 정독하여 주시고
https://rclone.org/docs/
Documentation
Configure First, you’ll need to configure rclone. As the object storage systems have quite complicated authentication these are kept in a config file. (See the --config entry for how to find the config file and choose its location.) The easiest way to make the config is to run rclone with the
rclone.org
간단하게 설명해본다.
# rclone config
라고 입력하면 아래 처럼 목록이 나온다.
처음 하는것이니 n 이라 입력
No remotes found - make a new one
n) New remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
n/r/c/s/q> n
리모트 연결할 이름을 물어보는데
샘플문서에 remote 로 되어있어, 나도 간편하게 remote
name> remote
사용하는 클라우드를 물어보는데 10번 구글 드라이브
client_id>
라고 물어보는데 그냥 엔터
알아도 엔터. (안다고 깝치다가 개 고생했다. 그냥 엔터)
client_secret>
물어본다. 그냥 엔터
service_account_file>
파일 있냐 물어본다. 엔터
너 자동으로 할꺼야?
n 이라고 입력
뭐 긴 영어줄이 나오면 http 로 시작하는 부분부터 복사해서 브라우져 붙여넣기 (구글 인증 한다)
계정 선택하고
아래 허용 눌러주고
인증된 코드가 나오면 그걸 복사 해서
붙여 넣기 하자.
Google Team Drive 이냐 ? 물어봄.
나는 y
팀드라이브 번호가 나온다. 나는 1번
맞냐? y
종료 q
설정이 만들어졌다.
명령어
rclone lsd remote:
라고 입력하면 구글 드라이브의 폴더가 보일것이다.
파일복사 명령
rclone copy /home/source/test.txt remote:backup
시놀로지에서는 특정 빈 폴더를 하나 만들고
마운트 명령을 해서 구글 드라이브를 연결 할 수 있다.
어떤 이유에서 인지 (SAMBA) 쓰기 명령이 잘 안되어,
우선은 읽기 전용으로 시놀에 연결하여
탐색기도 보이고, 각종 서비스에서도 구글드라이브 연결된 폴더가 보이도록 하고
파일 복사는 rclone copy [소스] [대상]
파일 이동은 rclode move [소스] [대상]
으로 사용 해볼까 한다. (셋팅 하루차임)
마운트 방법
rclone mount --umask 0 --allow-other --read-only remote:/구글드라이브폴더 /volume1/pds/main &
언마운트 방법
fusermount -uz /volume1/pds/main/
-- 파일 MOVE 상세 명령
-v 정보출력,
---delete-empty-src-dirs 빈폴더 삭제
--log-file=/var/log/rclone.log 로그 파일 남기기
rclone move -v --delete-empty-src-dirs --log-file=/var/log/rclone.log 원본 remote:/대상
그외에 윈도우에서는
https://www.raidrive.com/
RaiDrive: Cloud Storages, All Yours!
Map NAS, Router, Google Drive, Google Team Drive, Google Photos, OneDrive and Dropbox to a network drive on File Explorer. No Need File Synchronization & Web Browser!
www.raidrive.com
탐색기에 드라이브 처럼 연결해서 사용할수 있고
smartFTP 사용하여 파일 여러개를 동시에 업로드 하면서
빠른 업로드 속도를 노려볼수도 있겠다.
18. 3. 7 - TIP 추가
업로드가 완료되면 텔레그램으로 Push 알람이 오면 좋을듯 하여
아래 코드를 만들었습니다.
#!/bin/bash rclone move -v --delete-empty-src-dirs --log-file=/var/log/rclone.log upload_folder remote:/public_pds/uploads/ python /volume1/admin/push_msg.py upload_complete
/volume1/admin/send.sh 에 생성.
# -*- coding: utf-8 -*- # 텔레그램 메세지 보내기 # import sys from urllib import quote, unquote import urllib2 import os # 토큰 TELEGRAM_TOKEN = 'botXXXXXXXXXXXXXXXXXXXXXX' TELEGRAM_CHAT_ID = 'XXXXXXXX' def push_msg( msg ): if not TELEGRAM_TOKEN == '' : url ='https://api.telegram.org/' + TELEGRAM_TOKEN + '/sendMessage?chat_id=' + TELEGRAM_CHAT_ID + '&text='+quote(msg) print 'push message : ' + msg print url urllib2.urlopen(url) # UTF-8 확인사살 reload(sys) sys.setdefaultencoding('utf-8') if __name__ == "__main__" : push_msg ( sys.argv[1] )
push_msg.py 도 같은 폴더에 생성.
TELEGRAM_TOKEN
TELEGRAM_CHAT_ID 는 자신에 맞게 넣어줘야 한다.
TELEGRAM_TOKEN 값은 텔레그램 봇을 만들어야 알수있는데
텔레그램 봇 만드는 방법을 모르는분은
구글 검색을 해보자
나도 봇 만드는 법을 적어 두긴 했는데 ... 참고 해보세요.
https://blog.naver.com/binsoore/221004102383
클리앙 알뜰구매 텔레그램 채널 알람, 소스포함
어제에 이어 두번째 강좌(?) 클리앙 개편으로 어떤 개발자분이 만드신 알뜰구매 게시판 알람 봇이 동작을 ...
blog.naver.com
TELEGRAM_CHAT_ID 는 텔레그램에서의 나 자신의 ID 값이다.
이것을 알려면 먼저 봇이랑 친구를 맺어서 채팅방을 만들고
채팅창에 아무 내용이나 하나 보낸 다음
아래 API 를 웹브라우저 주소줄에서 호출하면
result 값으로 알수있다.
(봇이 받은 message 를 가져오는 api 이다)
https://api.telegram.org/botXXXXXXXXXXXXX:AAE5vXHIAFscPHOxmuNDhBgB8SO5Ww3YxMc/getUpdates
( XXXXXXX 는 봇 TELEGRAM_TOKEN 값으로 바꿔야함. )
result 값
{"ok":true,"result":[{"update_id":12345, "message":{"message_id":1234,"from":{"id":123456789,"is_bot":false,"first_name":"abcd","last_name":"abcd","username":"abcd","language_code":"ko"},"chat":{"id":123456789,"first_name":"abcd","last_name":"abcd","username":"abcd","type":"private"},"date":1520396528,"text":"hello"}}]}
message 항목의 id 값이 CHAT_ID 값이다. ( 123456789 )
위 값을 복사해서 push_msg.py 에 TELEGRAM_CHAT_ID 에 적어준다.
그리고 쉘 파일에 실행권한을 주고
chmod 755 /volume1/admin/send.sh
업로드 할 폴더가 /volume1/pds/upload_folder 라고 한다면
/volume1/pds 에서 (한단계 앞에서)
/volume1/admin/send.sh &
실행한다.
업로드가 완료되면 upload_complete 이라는 메세지가 올것이다.
P.S
메세지만 test 해볼려면
# python /volume1/admin/push_msg.py Hello
=============
[root@serverhosting254-90 mnt]# history | grep rclone
2533 2020-05-29 [15:55:40] yum install rclone
2539 2020-05-29 [16:06:54] rclone config
2542 2020-05-29 [16:20:14] rclone lsd ourclass
2543 2020-05-29 [16:20:28] rclone lsd remote
2544 2020-05-29 [16:20:33] rclone lsd ourclass:
2545 2020-05-29 [16:22:20] rclone copy /home/www/school ourclass:ourclass
'프로그램개발 > Linux(Apache.vim)' 카테고리의 다른 글
centos7 버전에서 ffmpeg 설치(용도는 동영상 업로드시 썸네일 추출) (0) | 2020.06.18 |
---|---|
유명 DNS 서버 아이피 참고 (0) | 2020.06.03 |
리눅스 방화벽 firewalld (CentOS 7) (0) | 2019.11.21 |
Netdata – 리소스 모니터링 툴 서버에 설치 (0) | 2019.11.14 |
아파치 동접자 참고 (0) | 2019.10.08 |