Rclone Basic
작성일:
Go 언어로 만든 크로스 플랫폼 클라우드 스토리지 특화 백업 및 동기화 프로그램
Rclone
- https://rclone.org/
file
,sftp
부터Amazon S3
,MinIO
와 같은 Object Storage, Cloud Storage 등의 많은 Providers 를 지원
Install
- 플랫폼 바이너리 다운로드 or 패키지 매니저 활용
- https://rclone.org/downloads/
Rclone config
- Providers 설정 기반, config 파일을 통해 설정
Rclone config 기본 파일 위치 확인
# linux config 파일 위치 확인
$ rclone config file
Configuration file is stored at:
/home/<HOME>/.config/rclone/rclone.conf
# windows
$ rclone config file
Configuration file is stored at:
C:\Users\<HOME>\AppData\Roaming\rclone\rclone.conf
Rclone config 추가
- config 파일을 직접 수정 하거나 Interactive 화면을 통해 진행
$ rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>
...
- Rclone config 내용 확인
$ rclone config show
Rclone Provider config
Amazon S3
[mys3]
type = s3
provider = AWS
env_auth = true
region = ap-northeast-2
location_constraint = ap-northeast-2
[mys3]
type = s3
provider = AWS
env_auth = true
region = ap-northeast-2
location_constraint = ap-northeast-2
access_key_id = AKIAXXXXXXXXXXXXXXXX
secret_access_key = 1oxxxxxxxxxxxxxxxxxxxxxxxxx
MinIO
[myminio]
type = s3
provider = Minio
env_auth = false
access_key_id = KEYxxxxxxxxx
secret_access_key = PWDxxxxxxxxx
endpoint = http://minio-server
SFTP
공개키 인증을 위해 key_file
지정하지 않으면 ssh_agent
를 통해 접근시도
type = sftp
host = HOST
user = USER
key_file = ~/.ssh/id_rsa
주요 명렁어
- https://rclone.org/commands/
remote:
형식으로 원격 서버 접근
# List all directories/containers/buckets in the path.
$ rclone lsd minio:
# local directories : ls -al ~/
$ rclone lsd ~/
Copy, Sync
- 원본과 동일한 파일은 복사하지 않음
# copy
$ rclone copy source-directory/ remote:target-directory/
# sync, mirror
$ rclone sync source-directory/ remote:target-directory/
Global Flags
- 주요 전역 설정
--checkers int Number of checkers to run in parallel (default 8)
--config string Config file (default "$HOME/.config/rclone/rclone.conf")
-L, --copy-links Follow symlinks and copy the pointed to item
-n, --dry-run Do a trial run with no permanent changes
--exclude stringArray Exclude files matching pattern
--fast-list Use recursive list if available; uses more memory but fewer transactions
--include stringArray Include files matching pattern
-P, --progress Show progress during transfer
--transfers int Number of file transfers to run in parallel (default 4)
# sync 예제
$ rclone sync source-directory/ remote:target-directory/ --progress --transfers 8 --copy-links
Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA -
Errors: 0
Checks: 6123 / 6123, 100%
Transferred: 0 / 0, -
Elapsed time: 0s
# local sync 예제
$ rclone sync source-directory/ /path/target-directory/ --progress --transfers 8 --copy-links
Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA -
Errors: 0
Checks: 6123 / 6123, 100%
Transferred: 0 / 0, -
Elapsed time: 0s
기타
Mount
- https://rclone.org/commands/rclone_mount/
- Linux의 FUSE 기술 활용 로컬 머신에 마운트된 형태로 서비스
Serve
- https://rclone.org/commands/rclone_serve/
- 특정 프로토콜을 활용하여 별도 원격 서비스 제공 (Gateway)
- rclone serve dlna - DLNA를 통한 원격:경로 제공
- rclone serve docker - 도커의 볼륨 플러그인 API에서 원격을 제공
- rclone serve ftp - FTP를 통해 원격:경로를 제공
- rclone serve http - HTTP를 통해 원격 서비스를 제공
- rclone serve restic - restic의 REST API에 대한 원격 서비스를 제공
- rclone serve sftp - SFTP를 통해 원격 서비스를 제공
- rclone은 webdav를 제공합니다 - webdav를 통해 원격:경로를 제공
댓글남기기