Memo/Linux/rclone

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/rclone
 

rclone: 複数のクラウドストレージに対応したsync CLI

  • https://rclone.org/
    • Amazon Drive, Amazon S3, Dropbox, Google Drive, Microsoft OneDrive?等の複数クラウドストレージサービスに対応している
    • Google drive

コマンド

  • version:
    rclone -V
    rclone v1.42
  • help:
    rclone --help | less
    
    # 指定コマンドのhelp
    rclone copy --help | less
  • man:
    man rclone
  • ls: ファイル一覧
    # 全部表示するので、遅い。終了はCTRL+C
    rclone ls gdrive:
    
    # test/ 以下だけ表示
    rclone ls gdrive:test/
  • copy: syncと違い削除しない。
    # remote -> local
    rclone copy gdrive:test/ ./test1/
    
    # local -> remote
    rclone copy ./test1/ gdrive:test1/
  • sync: 指定フォルダと同期
    • rsync --delete」の挙動がデフォルトなので注意。--dry-runオプションで検証してから実行を推奨。同期元に無いファイルは、同期先からも削除される。
      # remote -> local
      rclone sync gdrive:test/ ./test/ --dry-run
      rclone sync gdrive:test/ ./test/
      
      # local -> remote
      rclone sync ./test/ gdrive:test/ --dry-run
      rclone sync ./test/ gdrive:test/

インストール

  • ansibleを使ってインストール:
    • 対応OS: RedHat?/CentOS, Ubuntu, Debian, Linuxmint
    • CentOS: /usr/bin/rclone へインストールされる
      # デフォルトでは ~/.ansible/roles/ へインストールされる。それ以外は -p ROLES_PATH で指定。
      ansible-galaxy install stefangweichinger.rclone
      
      cat > playbook.rclone.yml << 'EOD'
      - hosts: localhost
        become: true
        roles:
        - stefangweichinger.rclone
      EOD
      
      ansible-playbook playbook.rclone.yml --check --diff
      ansible-playbook playbook.rclone.yml
  • 初期設定: 例: Google Driveを使う
    # ~/.config/rclone/rclone.conf が生成される
    rclone config
    
    # 新規なので 'n'
    n) New remote
    s) Set configuration password
    q) Quit config
    n/s/q> n
    
    # 設定名: config name
    name> gdrive
    
    # ストレージ選択
    11 / Google Drive
       \ "drive"
    
    Storage> 11
    
    # 省略可なのでenter
    Google Application Client Id - leave blank normally.
    client_id> 
    
    # 省略可なのでenter
    Google Application Client Secret - leave blank normally.
    client_secret> 
    
    # 権限の指定: full, readonly等選べる
    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"
    ...
    
    scope> 1
    
    # アクセスさせるroot folderの指定: ブラウザでフォルダを開いた時のURLに表示されるID。自分所有だと省略出来るのでenter
    ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
    root_folder_id> 
    
    # 省略可なのでenter
    Service Account Credentials JSON file path  - leave blank normally.
    Needed only if you want use SA instead of interactive login.
    service_account_file> 
    
    # 認証: CLIでの認証なので 'n'
    Remote config
    Use auto config?
    y/n> n
    
    # 表示されたURLをコピペしてブラウザで開き、許可する
    
    # ブラウザに表示されたコードをコピペ
    Enter verification code> 
    
    # team driveかの設定
    Configure this as a team drive?
    y) Yes
    n) No
    y/n> n
    
    # エントリを保存するかの設定
    y/e/d> y
    
    # 終了: q
    e/n/d/r/c/s/q> q

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (63d)