rclone - 同期もできる。各種クラウドストレージに対応したファイル管理ツール
今はクラウドストレージサービスが多数存在します。幾つものサービスを使い分けていたり、会社と個人、プロジェクトなどでストレージサービスが異なるといった方も多いのではないでしょうか。 そんな方にお勧めなのがrcloneです。複数のクラウドストレージをコマンドラインから操作できる便利ツールです。
rcloneの使い方
例えばDropboxであれば次のようにコマンドを打つと内包しているファイルが一覧できます。
$ rclone ls Dropbox:/
2016/05/24 11:42:42
Transferred: 0 Bytes ( 0.00 kByte/s)
Errors: 0
Checks: 0
Transferred: 0
Elapsed time: 1m0.9s
2925 .emacs.d/elisp/el-get/.loaddefs.el
25 .emacs.d/elisp/el-get/el-get/.git/HEAD
:
設定を作るので、複数のDropboxアカウントでも扱えるでしょう。対応しているサービスは以下の通りです。
- Google Drive
- Amazon Cloud Drive
- S3
- Dropbox
- Backblaze B2
- One Drive
- Swift
- Hubic
- Cloudfiles
- Google Cloud Storage
- Yandex Files
コマンドは次の通りですが、クラウドストレージ間でファイルを同期させるといった操作もできます。
rclone
Sync files and directories to and from local and remote object stores - v1.29.
Syntax: [options] subcommand <parameters> </parameters><parameters ...>
Subcommands:
copy source:path dest:path
Copy the source to the destination. Doesn't transfer
unchanged files, testing by size and modification time or
MD5SUM. Doesn't delete files from the destination.
sync source:path dest:path
Sync the source to the destination, changing the destination
only. Doesn't transfer unchanged files, testing by size and
modification time or MD5SUM. Destination is updated to match
source, including deleting files if necessary. Since this can
cause data loss, test first with the --dry-run flag.
move source:path dest:path
Moves the source to the destination. This is equivalent to a
copy followed by a purge, but may use server side operations
to speed it up. Since this can cause data loss, test first
with the --dry-run flag.
ls remote:path
List all the objects in the the path with size and path.
lsd remote:path
List all directories/containers/buckets in the the path.
lsl remote:path
List all the objects in the the path with modification time,
size and path.
md5sum remote:path
Produces an md5sum file for all the objects in the path. This
is in the same format as the standard md5sum tool produces.
sha1sum remote:path
Produces an sha1sum file for all the objects in the path. This
is in the same format as the standard sha1sum tool produces.
size remote:path
Returns the total size of objects in remote:path and the number
of objects.
mkdir remote:path
Make the path if it doesn't already exist
rmdir remote:path
Remove the path. Note that you can't remove a path with
objects in it, use purge for that.
purge remote:path
Remove the path and all of its contents. Does not obey
filters - use remove for that.
delete remote:path
Remove the contents of path. Obeys include/exclude filters.
check source:path dest:path
Checks the files in the source and destination match. It
compares sizes and MD5SUMs and prints a report of files which
don't match. It doesn't alter the source or destination.
dedupe remote:path
Interactively find duplicate files and offer to delete all
but one or rename them to be different. Only useful with
Google Drive which can have duplicate file names.
config
Enter an interactive configuration session.
authorize
Remote authorization. Used to authorize a remote or headless
rclone from a machine with a browser - use as instructed by
rclone config.
help
This help.
Options:
--acd-templink-threshold value Files >= this size will be downloaded via their tempLink. (default 9G)
--ask-password Allow prompt for password for encrypted configuration. (default true)
--bwlimit value Bandwidth limit in kBytes/s, or use suffix k|M|G
--checkers int Number of checkers to run in parallel. (default 8)
-c, --checksum Skip based on checksum & size, not mod-time & size
--config string Config file. (default "/Users/nakatsugawa/.rclone.conf")
--contimeout duration Connect timeout (default 1m0s)
--cpuprofile string Write cpu profile to file
--dedupe-mode string Dedupe mode interactive|skip|first|newest|oldest|rename. (default "interactive")
--delete-after When synchronizing, delete files on destination after transfering
--delete-before When synchronizing, delete files on destination before transfering
--delete-during When synchronizing, delete files during transfer (default)
--delete-excluded Delete files on dest excluded from sync
--drive-auth-owner-only Only consider files owned by the authenticated user. Requires drive-full-list.
--drive-chunk-size value Upload chunk size. Must a power of 2 >= 256k. (default 8M)
--drive-formats string Comma separated list of preferred formats for downloading Google docs. (default "docx,xlsx,pptx,svg")
--drive-full-list Use a full listing for directory list. More data but usually quicker. (obsolete)
--drive-upload-cutoff value Cutoff for switching to chunked upload (default 8M)
--drive-use-trash Send files to the trash instead of deleting permanently.
--dropbox-chunk-size value Upload chunk size. Max 150M. (default 128M)
-n, --dry-run Do a trial run with no permanent changes
--dump-bodies Dump HTTP headers and bodies - may contain sensitive info
--dump-filters Dump the filters to the output
--dump-headers Dump HTTP headers - may contain sensitive info
--exclude string Exclude files matching pattern
--exclude-from string Read exclude patterns from file
--files-from string Read list of source-file names from file
-f, --filter string Add a file-filtering rule
--filter-from string Read filtering patterns from a file
--ignore-existing Skip all files that exist on destination
-I, --ignore-times Don't skip files that match size and time - transfer all files
--include string Include files matching pattern
--include-from string Read include patterns from file
--log-file string Log everything to this file
--low-level-retries int Number of low level retries to do. (default 10)
--max-age string Don't transfer any file older than this in s or suffix ms|s|m|h|d|w|M|y
--max-size value Don't transfer any file larger than this in k or suffix k|M|G
--memprofile string Write memory profile to file
--min-age string Don't transfer any file younger than this in s or suffix ms|s|m|h|d|w|M|y
--min-size value Don't transfer any file smaller than this in k or suffix k|M|G
--modify-window duration Max time diff to be considered the same (default 1ns)
--no-check-certificate Do not verify the server SSL certificate. Insecure.
--no-gzip-encoding Don't set Accept-Encoding: gzip.
--onedrive-chunk-size value Above this size files will be chunked - must be multiple of 320k. (default 10M)
--onedrive-upload-cutoff value Cutoff for switching to chunked upload - must be <= 100MB (default 10M)
-q, --quiet Print as little stuff as possible
--retries int Retry operations this many times if they fail (default 3)
--size-only Skip based on size only, not mod-time or checksum
--stats duration Interval to print stats (0 to disable) (default 1m0s)
--swift-chunk-size value Above this size files will be chunked into a _segments container. (default 5G)
--timeout duration IO idle timeout (default 5m0s)
--transfers int Number of file transfers to run in parallel. (default 4)
-u, --update Skip files that are newer on the destination.
-v, --verbose Print lots more stuff
-V, --version Print the version number
It is only necessary to use a unique prefix of the subcommand, eg 'mo'
for 'move'.
No command supplied
クラウドストレージサービスは専用のクライアントアプリを提供していますが、常駐するのが嫌だという声もあります。rcloneを使えばディレクトリを作ったり、ファイルをコピーしたりする操作がコマンドから簡単にできます。クラウドストレージを多数使っている方はぜひお使いください。
rcloneはWindows/Mac OSX/Linux用のオープンソース・ソフトウェア(MIT License)です。
rclone - rsync for cloud storage ncw/rclone: Sync files to and from Google Drive, Amazon Cloud Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Yandex Files