On RHEL/CentOS Distro, run this command :
$ sudo yum install rclone -y
On Debian/Ubuntu Distro, run this command :
$ sudo apt install rclone -y
Before rclone can managing content of Google Drive server, configuration needs to be done first, Here is an example of making an s3 configuration. First run :
$ rclone config
This will guide you through an interactive setup process :
No remotes found - make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n name> your-gdrive Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / A stackable unification remote, which can appear to merge the contents of several remotes \ "union" 2 / Alias for a existing remote \ "alias" 3 / Amazon Drive \ "amazon cloud drive" 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc) \ "s3" 5 / Backblaze B2 \ "b2" 6 / Box \ "box" 7 / Cache a remote \ "cache" 8 / Dropbox \ "dropbox" 9 / Encrypt/Decrypt a remote \ "crypt" 10 / FTP Connection \ "ftp" 11 / Google Cloud Storage (this is not Google Drive) \ "google cloud storage" 12 / Google Drive \ "drive" 13 / Hubic \ "hubic" 14 / JottaCloud \ "jottacloud" 15 / Koofr \ "koofr" 16 / Local Disk \ "local" 17 / Mega \ "mega" 18 / Microsoft Azure Blob Storage \ "azureblob" 19 / Microsoft OneDrive \ "onedrive" 20 / OpenDrive \ "opendrive" 21 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH) \ "swift" 22 / Pcloud \ "pcloud" 23 / QingCloud Object Storage \ "qingstor" 24 / SSH/SFTP Connection \ "sftp" 25 / Webdav \ "webdav" 26 / Yandex Disk \ "yandex" 27 / http Connection \ "http" Storage> drive ** See help for drive backend at: https://rclone.org/drive/ ** Google Application Client Id Setting your own is recommended. See https://rclone.org/drive/#making-your-own-client-id for how to create your own. If you leave this blank, it will use an internal key which is low performance. Enter a string value. Press Enter for the default (""). client_id> Google Application Client Secret Setting your own is recommended. Enter a string value. Press Enter for the default (""). client_secret> Scope that rclone should use when requesting access from drive. Enter a string value. Press Enter for the default (""). 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). Enter a string value. Press Enter for the default (""). root_folder_id> Service Account Credentials JSON file path Leave blank normally. Needed only if you want use SA instead of interactive login. Enter a string value. Press Enter for the default (""). service_account_file> Edit advanced config? (y/n) y) Yes n) No y/n> n Remote config Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine 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 -------------------- [your-gdrive] type = drive token = {"access_token":"ya29.Il-9B7AtGYE-e7zpz7hQzxEALhBH-exNL0ySD1SdjrHmSo5Qno_QHTeg9686PujY9I0Q7owlL9CZq5a2ngxn0-0usL6To-0y1oPCuUB3QzwF8P6Oi1i9trKY_bNyw4LlVw","token_type":"Bearer","refresh_token":"1//0gWSr356LNRi2CgYIARAAGBASNwF-L9IrBS1NXHAQgWJX1yStn0siKZvVaxi-n82Z9A8ISw4cPdLaxzCDLYa6I-OaXROyRDA0AXA","expiry":"2020-02-17T21:07:25.70010407+07:00"} -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== your-gdrive drive e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q>
At the last step, you will be asked to authenticate to google drive using google email by accessing the link http://127.0.0.1.53682/auth .
But the problem that occurs is if the rclone configuration is running on a virtual server / VPS which we cannot access to the local virtual server / VPS environment.
The trick is to do SSH tunneling to Virtual Server / VPS instead of the port forwarding function.
Please follow the steps below:
$ ssh [user]@[IP] -L 53682:localhost:53682
-L 53682:localhost:53682 can be interpreted as we do port forwarding on port 53682 on Virtual Servers aimed at port 53682 in our local environment.
Then try access the link http://127.0.0.1.53682/auth .
If successful it will be as follows :
Once you have made a remote configuration, lets check your connection with this command :
$ rclone lsd your-gdrive:
The path to the rclone configuration file can be found on ~/.config/rclone/rclone.conf
Refer on https://rclone.org/s3/