Rclone - 다른 클라우드 스토리지의 파일 디렉터리 동기화
Rclone은 Go 언어로 작성된 명령줄 프로그램으로, Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, FTP, 구글 클라우드 스토리지, 구글 드라이브 등
보시다시피, 여러 플랫폼을 지원하므로 서버 간 또는 개인 저장소 간에 데이터를 동기화하는 데 유용한 도구입니다.
Rclone에는 다음과 같은 기능이 있습니다
- 파일 무결성 무결성을 보장하기 위해 MD5/SHA1 해시를 항상 확인합니다.
- 타임스탬프는 파일에 보존됩니다.
- 전체 파일 단위로 부분 동기화가 지원됩니다.
- 새 파일이나 변경된 파일에 대한 복사 모드입니다.
- 디렉터리를 동일하게 만드는 단방향 동기화입니다.
- 확인 모드 – 해시 동등성 확인.
- 네트워크(예: 두 개의 서로 다른 클라우드 계정)와 동기화할 수 있습니다.
- (암호화) 백엔드.
- (캐시) 백엔드.
- (Union) 백엔드.
- 선택적 FUSE 마운트(rclone 마운트).
Linux 시스템에 rclone을 설치하는 방법
rclone 설치는 두 가지 방법으로 완료할 수 있습니다. 더 쉬운 방법은 다음 명령을 실행하여 설치 스크립트를 사용하는 것입니다.
curl https://rclone.org/install.sh | sudo bash
이 스크립트가 하는 일은 스크립트가 실행되는 OS 유형을 확인하고 해당 OS와 관련된 아카이브를 다운로드하는 것입니다. 그런 다음 아카이브를 추출하고 rclone 바이너리를 /usr/bin/rclone에 복사하고 파일에 755 권한을 부여합니다.
마지막으로 설치가 완료되면 다음 줄이 표시됩니다.
Rclone v1.44 has successfully installed.
Now run “rclone config” for setup, Check https://rclone.org/docs/ for more details.
rclone을 설치하는 두 번째 방법은 다음 명령을 실행하는 것입니다.
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
이제 바이너리 파일을 복사하고 실행 권한을 부여하십시오.
cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone
rclone 맨페이지를 설치합니다.
mkdir -p /usr/local/share/man/man1
cp rclone.1 /usr/local/share/man/man1/
mandb
Linux 시스템에서 rclone을 구성하는 방법
다음으로 해야 할 일은 rclone config를 실행하여 구성 파일을 만드는 것입니다. 향후 rclone 사용을 위한 인증에 사용됩니다. 구성 설정을 실행하려면 다음 명령을 실행하세요.
rclone config
다음 프롬프트가 표시됩니다.
2018/11/13 11:39:58 NOTICE: Config file “/home/user/.config/rclone/rclone.conf” not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>
옵션은 다음과 같습니다:
- n) – 새로운 원격 연결 생성
- s) – 구성에 대한 비밀번호 보호 설정
- q) – 구성 종료
이 튜토리얼의 목적에 따라 "n"
을 누르고 새 연결을 생성해 보겠습니다. 새 연결에 이름을 지정하라는 메시지가 표시됩니다. 그런 다음 구성할 스토리지 유형을 선택하라는 메시지가 표시됩니다.
연결 이름을 'Google'로 지정하고 숫자 12 아래에 있는 'Google 드라이브 '를 선택했습니다. 나머지 질문은 빈 “ ”인 기본 답변을 그대로 두면 답변할 수 있습니다.
요청을 받으면 'autoconfig'를 선택할 수 있습니다. 그러면 Google 드라이브에 연결하는 데 필요한 모든 정보가 생성되고 복제 권한이 부여됩니다. Google 드라이브의 데이터를 사용하세요.
프로세스는 다음과 같습니다.
Google Application Client Secret - leave blank normally.
client_secret>
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\ "drive"
2 / Read-only access to file metadata and file contents.
\ "drive.readonly"
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\ "drive.file"
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\ "drive.appfolder"
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\ "drive.metadata.readonly"
scope> 1
ID of the root folder - leave blank normally. Fill in to access "Computers" folders. (see docs).
root_folder_id>
Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
service_account_file>
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
client_id =
client_secret =
scope = drive
root_folder_id =
service_account_file =
token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2018-11-13T11:57:58.955387075Z"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Linux 시스템에서 rclone을 사용하는 방법
Rclone에는 함께 사용할 수 있는 옵션과 명령이 상당히 많이 포함되어 있습니다. 우리는 더 중요한 것들 중 일부를 다루려고 노력할 것입니다:
원격 디렉토리 나열
rclone lsd <remote-dir-name>:
rclone을 사용하여 데이터 복사
rclone copy source:sourcepath dest:destpath
rclone이 중복 항목을 찾으면 해당 항목은 무시됩니다.
rclone으로 데이터 동기화
디렉터리 간에 일부 데이터를 동기화하려면 sync 명령과 함께 rclone을 사용해야 합니다.
명령은 다음과 같아야 합니다.
rclone sync source:path dest:path [flags]
이 경우 소스가 대상과 동기화되어 대상만 변경됩니다! 이 방법은 변경되지 않은 파일을 건너뜁니다. 이 명령은 데이터 손실을 일으킬 수 있으므로 “–dry-run ”과 함께 사용하여 정확히 무엇이 복사되고 삭제되는지 확인할 수 있습니다.
rclone을 사용하여 데이터 이동
데이터를 이동하려면 move 명령과 함께 rclone을 사용할 수 있습니다. 명령은 다음과 같아야 합니다.
rclone move source:path dest:path [flags]
소스의 콘텐츠가 이동(삭제)되어 선택한 대상에 배치됩니다.
기타 유용한 rclone 명령
대상에 디렉터리를 생성합니다.
rclone mkdir remote:path
디렉토리를 제거하려면.
rclone rmdir remote:path
소스와 대상의 파일이 일치하는지 확인하십시오.
rclone check source:path dest:path
파일 삭제:
rclone delete remote:path
각 rclone 명령은 서로 다른 플래그와 함께 사용할 수 있으며 자체 도움말 메뉴를 포함합니다. 예를 들어 삭제 옵션을 사용하여 선택적 삭제를 수행할 수 있습니다. 100M보다 큰 파일을 삭제하려는 경우 명령은 다음과 같습니다.
rclone --min-size 100M delete remote:path
rclone을 최대한 활용하려면 각 명령에 대한 설명서와 도움말을 검토하는 것이 좋습니다. rclone의 전체 문서는 https://rclone.org/에서 확인할 수 있습니다.
결론
rclone은 다양한 클라우드 저장소 제공업체 간의 데이터를 관리하는 데 도움이 되는 강력한 명령줄 유틸리티입니다. 이 기사에서는 rclone 기능의 표면적인 부분만 다루었지만 특히 cron 서비스(예:)와 함께 사용하면 훨씬 더 많은 것을 얻을 수 있습니다.