rclone
クラウドストレージやリモートファイルシステムをコマンドラインで操作するためのツールです。
ローカル↔クラウド、クラウド↔クラウドのコピー、同期、一覧表示、マウントなどができます。
rclone の基本構文
code: (bash)
rclone <command> <source> <dest> flags 例:ローカルの ./localdir を mydrive という名前で設定したリモートの backup/localdir にコピー
code:example.sh
rclone copy ./localdir mydrive:backup/localdir
最初にやること
対話式設定を開きます。
code: (bash)
rclone config
これで Google Drive、OneDrive、S3、Dropbox などの接続設定を作れます。
認証情報は設定ファイルに保存されます。
よく使う代表コマンド
copy
copy は、ソースから宛先へファイルをコピーします。
宛先にしかないファイルは削除しません。動作確認には --dry-run や -i が使えます。
code: (bash)
rclone copy ./data mydrive:data -P
よく使うフラグ:
-P / --progress: 転送状況を表示
--dry-run: 実際には変更せず、何が起こるか確認
sync
sync は、ソースと宛先を一致させます。
宛先にあってソースにないファイルを削除するのが copy との大きな違いです。
誤用するとデータ消失につながるので、最初に --dry-run を実施することが重要です。
code: (bash)
rclone sync ./data mydrive:data -P --dry-run
ls / lsd / lsl
一覧系です。
ls はファイル一覧、lsd はディレクトリ一覧、lsl は時刻つき詳細表示です。
コマンド一覧に含まれる標準サブコマンドです。
code: (bash)
rclone ls mydrive:docs
rclone lsd mydrive:
rclone lsl mydrive:docs
mkdir
リモート側にディレクトリを作ります。
code: (bash)
rclone mkdir mydrive:backup/2026
delete / purge
削除系です。
delete は中身の削除、purge はディレクトリごと削除に使われます。
破壊的なので対象確認が重要です。
code: (bash)
rclone delete mydrive:oldfiles
mount
リモートストレージをローカルドライブのようにマウントします。
便利ですが、公式にも sync / copy ほど単純には再試行できず、信頼性面では注意が必要とされています。
必要に応じて VFS キャッシュを使います。
code: (bash)
rclone mount mydrive: /mnt/mydrive
bisync
双方向同期です。ローカルとクラウドの両方の変更を突き合わせて反映します。
ただしこれは高度な機能で、公式にも制約やデータ損失リスクへの注意が明示されています。
初回は --resync、さらに --dry-run で確認するのが推奨されています。
code: (bash)
rclone bisync ./work mydrive:work --resync --dry-run -P
dry run
特に sync、delete、purge、bisync は最初に --dry-run を付けるのが重要です。
copy でも挙動確認に有効です。