rclone

Rclone 쓸만한 명령어 모음

컴퓨터, 소프트웨어 2022년 12월 30일
rclone

Rclone 이란?

Rclone은 클라우드 스토리지를 관리하는 소프트웨어입니다.

  • 구글드라이브, 원드라이브, 드롭박스 같은 온라인 스토리지는 물론 FTP, Webdav로 연결된 개인저장소도 지원합니다.
  • 온라인 스토리지를 OS에 마운트 하거나 복사, Sync, 파일 비교(해시 값) 등을 할 수 있고, OS의 폴더를 FTP, Webdav등으로 Serve할 수도 있습니다.
  • Rclone은 커맨드라인에서 실행하고 명령어가 아주 다양합니다.
  • GUI도 지원하지만 아직 완벽하지 않아서 많이 사용하지 않습니다.
  • 불편한 커맨드라인 어플을 사용하는 이유는 엄청난 기능과 성능 때문입니다. 게다가 스크립트를 짤 때는 커맨드라인 방식이 더 유용합니다.

Rclone 관련 정보

Rclone 관련 이전 포스팅

Rclone 기능 안내 간단히 번역

Rclone으로 할 수 있는 것

  • 클라우드 스토리지로 파일을 백업(암호화 가능)
  • 클라우드 스토리지의 파일로 복원(암호화 가능)
  • 클라우드 간, 혹은 클라우드와 로컬의 데이터 미러링 가능
  • 클라우드 간, 혹은 클라우드와 로컬의 데이터 이동 가능
  • 다중, 암호화, 캐시 또는 다양한 클라우드 스토리지를 디스크로 마운트
  • lsf, ljson, size, ncdu를 사용하여 클라우드 스토리지에 보관된 데이터 분석 및 설명
  • 유니온 기능 : 다수의 로컬과 클라우드 파일 시스템을 하나의 파일 시스템으로 통합
추가설명: 여러 스토리지를 union기능으로 묶어서 하나의 스토리지처럼 사용할 수도 있습니다. 예를 들어, 구글 무료 계정 10개있으면 각각 15GB*10 총 150GB의 스토리지로 만들 수 있습니다. 개쩌는 기능!!!)

Rclone 상세 기능

  • 트랜스퍼(전송)
    MD5, SHA1 해시 체크로 무결성 확인
    파일에 타임스탬프 보존
    언제든 작업 재시작 가능
    서로 다른 클라우드간에 양방향 지원
    로컬 디스크에 멀티 쓰레드 다운로드 가능
  • Copy
  • Sync : 두 폴더를 동일하게 만들기(단방향 sync/ 양방향 bisync *실험적 기능)
  • Move
  • Check : 파일 추가/누락 확인을 위한 해시 비교
  • Mount : 클라우드 스토리지를 네트워크 디스크로 마운트
  • Serve : HTTP/ WebDav/FTP/SFTP/DLNA
  • Web Based GUI : 실험적 기능

Rclone 사용시 주의 사항

윈도우와 리눅스에서 경로 표시 방법이 다릅니다. 리눅스를 사용하시는 분들이 더 전문가가 많을 것 같아 윈도우 기준으로 작성합니다. 경로에 표시되는 영어 대문자, 소문자 완벽하게 일치해야 합니다.

윈도우 경로 표시 예제

리모트명은 예제입니다. 리모트 작성 명령어는 "rclone config"

로컬 : C:\music
리모트 : Testremote:\music
경로에 공백이 있을 때(따옴표) : "C:\music\modern rock"

리눅스 경로 표시 예제

리모트명은 예제입니다.

로컬 : /home/ubuntu/music
리모트 : Testremote:/music
경로에 공백이 있을 때(따옴표) : "Testremote:/music/modern rock"

Rclone 명령어 전체 확인

홈페이지 및 CMD에서 확인

rclone --help

콘솔(터미널)에서 rclone help

Rclone 명령어 구조

#rclone 명령어 --플래그
rclone command --flag

rclone 명령어 구조

rclone은 명령어 종류도 많고, 플래그 종류도 많습니다.

Rclone 쓸만한 명령어 몇 가지 소개

명령어가 너무 많아서 많이 사용하는 유용한 명령어 몇 가지만 예제 형태로 소개합니다.

.conf 파일에 다음과 같은 remote가 작성되어 있다고 가정하겠습니다. Gdirve01, Gdrive02, My_1drive)

[ 기본 .conf 작성 관련 명령어 ]

  • .conf 파일 작성(스토리지 종류와 이름, 설정을 작성합니다.)
rclone config

rclone config

  • .conf 파일 위치 확인
rclone config file

rclone config file

  • .conf 파일 직접 지정(conf 파일 못 찾을 때 사용)
rclone 명령어 --config ".conf파일경로"

rclone .conf 파일 직접 지정(conf 파일 못 찾을 때 사용)

  • .conf 파일에 작성된 리모트 목록 확인
rclone listremotes --long

rclone 리모트 목록 확인

[ 리모트의 데이터 확인 ]

  • 폴더 크기 확인 : 파일수가 많고 데이터가 클 경우 윈도우 탐색기로 확인하는 것보다 훨씬 빠릅니다. 리모트 폴더가 아닌 일반 폴더에도 적용 가능합니다.
rclone size "Gdrive01:\음악"

rclone으로 폴더 크기 확인

  • 파일리스트 확인(lsl은 수정시간 표시, tree는 트리구조로 표시)
rclone ls "Gdrive01:\음악"

rclone lsl "Gdrive01:\음악"

rclone tree "Gdrive01:\음악"

rclone ls, lsd, tree

rclone tree 기능
  • 파일 탐색 (과거 도스 시절 어플 Mdir처럼 방향키 탐색 가능, 그닥 쓸모는...)
rclone ncdu 기능
rclone ncdu "Gdrive01:\Cubase Projects\TEST"

rclone ncdu

  • 중복 파일 검색 (중복파일 처리는 dedupe명령어 참고)
rclone lsl Gdrive01:dupes

rclone dupes

[ 복사 관련 명령어 ]

rclone copy

rclone copy 동일한 파일은 건너 뛰고 폴더 to 폴더 복사
기본 사용법 : rclone copy source:sourcepath dest:destpath

  • -P : 진행상태 표시. 대문자 P입니다. 소문자 안됨.
  • --transfers 숫자 : 파일 용량 클 때는 transters값 작게(기본값 4)
  • --dry-run : 실제 파일 변경없이 테스트만 해보고 싶을 때 --dry-run 플래그 추가

명령어 예제

진행상태 표시 -P , 동시 전송 파일수 설정 --transfers 16 , 파일이 없어도 빈폴더 그대로 생성 --create-empty-src-dir , 복사 중 해시 비교 --checksum

rclone copy "C:\음악\재즈" "Gdrive01:\음악\재즈" -P --create-empty-src-dirs --transfers 16 --checksum

rclone copy 명령어 예제

rclone copy to

rclone copyto 동일한 파일을 건너 뛰고 파일 복사
기본 사용법 : rclone copyto srcfile dstfile

명령어 예제

rclone copyto "Gdrive01:\음악\재즈\Moon_river.mp3" "Gdrive02:\백업\Moon_river.mp3" --checksum

rclone copyto 명령어 예제

[ 동기화 (Sync) 관련 명령어 ]

rclone의 sync기능은 기본적으로 단방향. 양방향은 실험적 기능이라 생략
기본 사용법 : rclone sync source:path dest:path [flags]

명령어 예제

진행상태 표시 -P , 동시 전송 파일수 설정 --transfers 16 , 파일이 없어도 빈폴더 그대로 생성 --create-empty-src-dir , 복사 중 해시 비교 --checksum

rclone sync "C:\음악\재즈" "Gdrive01:\음악\재즈" -P --create-empty-src-dirs --transfers 16 --checksum

rclone sync 명령어 예제

[ 체크 (Check) 관련 명령어 ]

두 폴더를 비교
기본 사용법 : rclone check source:path dest:path [flags]

명령어 예제

rclone check "C:\음악\재즈" "Gdrive01:\음악\재즈" -P

rclone check 명령어 예제

[ 서브 (Serve) 관련 명령어 ]

로컬 폴더를 온라인에서 접근할 수 있도록 Serve해줌. (서버가 됨)

이 기능을 이용해서 PC의 로컬 디스크의 파일을 스마트폰이나 오큘러스(메타)같은 외부기기에서 접속하게 만들 수 있습니다.


기본 사용법 : rclone serve <protocol> [opts] <remote> [flags]

명령어 예제 1
로컬 폴더 "C:\음악"webdav로 서브, 포트 7777, 아이디 messi, 비번 lionel)

rclone serve webdav "C:\음악" --addr 0.0.0.0:7777 --user messi --pass lionel

rclone serve 명령어 예제

명령어 예제 2
리모트 폴더 "Gdrive01:\음악"webdav로 서브, 포트 7777, 아이디 messi, 비번 lionel)

rclone serve webdav "Gdrive01:\음악" --addr 0.0.0.0:7777 --user messi --pass lionel

[ 그 밖의 유용한 기능(자세한 건 다음에 기회되면...) ]

  • 필터링 기능 : 일반적 플래그. 조건에 맞는 폴더나 파일을 제외 가능
    https://rclone.org/filtering/
  • 유니온 기능 : 여러 리모트를 통합, 리모트와 로컬 폴더 통합해서 하나의 리모트처럼 사용가능. 다양한 정책 선택 가능. 구글 계정 10개의 구글드라이브를 하나의 리모트로 통합해서 사용가능.
    https://rclone.org/union/
  • combine 기능 : 여러 리모트를 통합해서 서브 디렉토리 방식으로 마운트할 때 사용.
    https://rclone.org/combine/
rclone.conf 내의 combine 사용 예
rclone combine을 이용한 mount 예


#rclone #rclone copy #rclone config #rclone copyto #rclone sync #rclone serve #rclone check

태그

BoniK

협업, 의뢰, 레슨 등 문의 : mail@bonik.me, open.kakao.com/me/bonik