Clone Files to Cloud Storage: Difference between revisions

From WickyWiki
Line 111: Line 111:
* https://rclone.org/crypt/
* https://rclone.org/crypt/


Define an encrypted target, in this axample the configured remote gdrive1 is used as storage.
Define an encrypted target, in this example the configured remote 'gdrive1' is used as storage in subfolder 'crypt'.


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 118: Line 118:
name> gdrive2
name> gdrive2
Storage> crypt
Storage> crypt
remote> gdrive:/rclone2
remote> gdrive:/crypt
filename_encryption> 2
filename_encryption> 2
directory_name_encryption> 1
directory_name_encryption> 1
Line 127: Line 127:


Sync from local to Google Drive, name 'gdrive2':
Sync from local to Google Drive, name 'gdrive2':
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
rclone sync -v /home/pi/Documents "gdrive2:/"
rclone sync -v /home/pi/Documents "gdrive2:/"
Line 135: Line 135:


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
rclone lsf -v "gdrive:/rclone2"
rclone lsf -v "gdrive:/crypt"
</syntaxhighlight>
</syntaxhighlight>



Revision as of 20:06, 20 September 2018


Links

Install

wget https://rclone.org/install.sh
chmod +x install.sh
sudo ./install.sh

Configure

Google Drive Client Access

Configure the account :

Configure rclone

Note:

  • This will partly be repeated after the access token has expired.
rclone config
	n                   # New remote
	name> gdrive1       # Any short name
	Storage Type> drive # Google Drive
	client_id> 
	client_secret> 
	scope> drive        # Full access all files, excluding Application Data Folder
	root_folder_id> 
	service_account_file>
	Auto config> y      #your browser will open, login with your gmail account and allow access
	Team drives> n	
	is this OK?> y

Sync from local to Google Drive, name 'gdrive1', folder 'rclone':

rclone sync -v ~/test4.txt "gdrive1:/rclone/"

Sync from Google Drive to local:

rclone sync -v  "gdrive1:/rclone/test4.txt" ~/rclone/

Google Drive Service Account

Note:

  • The service account and the main account do not share access to Google Drive files.
  • You can not use the Webinterface to access the service account Google Drive files. However, a service account is still the preferred method if you want to machine-to-machine interaction.
  • To be able to use 'drive-impersonate' you need a "G Suite domain", for this you will need to use a domain that you 'own'. There are various ways to prove you 'own' a domain.

Create a service account :

  • Go to the Developer Console: https://console.developers.google.com/apis/dashboard
  • Login if needed, makes sure you have the corrrect account
  • Create a project and select it
  • Select "ENABLE APIS AND SERVICES" and enable the "Google Drive API"
  • Use the " Create Credentials" button to create a "Service account key". Pick a "Service account name". "Role" can be empty.
  • Select "Key type JSON" and save the file for use with rclone config

Configure rclone

rclone config
	n                   # New remote
	name> gdrive        # Any short name
	Storage Type> drive # Google Drive
	client_id> 
	client_secret> 
	scope> drive        # Full access all files, excluding Application Data Folder
	root_folder_id> 
	service_account_file> /home/pi/Scripts/rclone-4682b69ab73b.json
	Edit advanced config?> n
	Configure this as a team drive?> n
	is this OK?> y

List contents:

rclone lsf -v "gdrive:"

Sync:

rclone sync -v /home/pi/Documents "gdrive:/rclone/"

List of rclone commands:

Encryption

Define an encrypted target, in this example the configured remote 'gdrive1' is used as storage in subfolder 'crypt'.

rclone config
	e/n/d/r/c/s/q> n
	name> gdrive2
	Storage> crypt
	remote> gdrive:/crypt
	filename_encryption> 2
	directory_name_encryption> 1
	type password y/g/n> y
	seed y/g/n> n
	advanced config y/n> n

Sync from local to Google Drive, name 'gdrive2':

rclone sync -v /home/pi/Documents "gdrive2:/"

List contents (encrypted):

rclone lsf -v "gdrive:/crypt"

List contents (decrypted):

rclone lsf -v "gdrive2:"