195 lines
5.8 KiB
Markdown
195 lines
5.8 KiB
Markdown
---
|
|
title: "Microsoft OneDrive"
|
|
description: "Rclone docs for Microsoft OneDrive"
|
|
date: "2015-10-14"
|
|
---
|
|
|
|
<i class="fa fa-windows"></i> Microsoft OneDrive
|
|
-----------------------------------------
|
|
|
|
Paths are specified as `remote:path`
|
|
|
|
Paths may be as deep as required, eg `remote:directory/subdirectory`.
|
|
|
|
The initial setup for OneDrive involves getting a token from
|
|
Microsoft which you need to do in your browser. `rclone config` walks
|
|
you through it.
|
|
|
|
Here is an example of how to make a remote called `remote`. 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
|
|
n/s> n
|
|
name> remote
|
|
Type of storage to configure.
|
|
Choose a number from below, or type in your own value
|
|
1 / Amazon Drive
|
|
\ "amazon cloud drive"
|
|
2 / Amazon S3 (also Dreamhost, Ceph, Minio)
|
|
\ "s3"
|
|
3 / Backblaze B2
|
|
\ "b2"
|
|
4 / Dropbox
|
|
\ "dropbox"
|
|
5 / Encrypt/Decrypt a remote
|
|
\ "crypt"
|
|
6 / Google Cloud Storage (this is not Google Drive)
|
|
\ "google cloud storage"
|
|
7 / Google Drive
|
|
\ "drive"
|
|
8 / Hubic
|
|
\ "hubic"
|
|
9 / Local Disk
|
|
\ "local"
|
|
10 / Microsoft OneDrive
|
|
\ "onedrive"
|
|
11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
|
|
\ "swift"
|
|
12 / SSH/SFTP Connection
|
|
\ "sftp"
|
|
13 / Yandex Disk
|
|
\ "yandex"
|
|
Storage> 10
|
|
Microsoft App Client Id - leave blank normally.
|
|
client_id>
|
|
Microsoft App Client Secret - leave blank normally.
|
|
client_secret>
|
|
Remote config
|
|
Choose OneDrive account type?
|
|
* Say b for a OneDrive business account
|
|
* Say p for a personal OneDrive account
|
|
b) Business
|
|
p) Personal
|
|
b/p> p
|
|
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
|
|
--------------------
|
|
[remote]
|
|
client_id =
|
|
client_secret =
|
|
token = {"access_token":"XXXXXX"}
|
|
--------------------
|
|
y) Yes this is OK
|
|
e) Edit this remote
|
|
d) Delete this remote
|
|
y/e/d> y
|
|
```
|
|
|
|
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
|
machine with no Internet browser available.
|
|
|
|
Note that rclone runs a webserver on your local machine to collect the
|
|
token as returned from Microsoft. This only runs from the moment it
|
|
opens your browser to the moment you get back the verification
|
|
code. This is on `http://127.0.0.1:53682/` and this it may require
|
|
you to unblock it temporarily if you are running a host firewall.
|
|
|
|
Once configured you can then use `rclone` like this,
|
|
|
|
List directories in top level of your OneDrive
|
|
|
|
rclone lsd remote:
|
|
|
|
List all the files in your OneDrive
|
|
|
|
rclone ls remote:
|
|
|
|
To copy a local directory to an OneDrive directory called backup
|
|
|
|
rclone copy /home/source remote:backup
|
|
|
|
### OneDrive for Business ###
|
|
|
|
There is additional support for OneDrive for Business.
|
|
Select "b" when ask
|
|
```
|
|
Choose OneDrive account type?
|
|
* Say b for a OneDrive business account
|
|
* Say p for a personal OneDrive account
|
|
b) Business
|
|
p) Personal
|
|
b/p>
|
|
```
|
|
After that rclone requires an authentication of your account. The application will first authenticate your account, then query the OneDrive resource URL
|
|
and do a second (silent) authentication for this resource URL.
|
|
|
|
### Modified time and hashes ###
|
|
|
|
OneDrive allows modification times to be set on objects accurate to 1
|
|
second. These will be used to detect whether objects need syncing or
|
|
not.
|
|
|
|
OneDrive personal supports SHA1 type hashes. OneDrive for business and
|
|
Sharepoint Server support
|
|
[QuickXorHash](https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash).
|
|
|
|
For all types of OneDrive you can use the `--checksum` flag.
|
|
|
|
### Deleting files ###
|
|
|
|
Any files you delete with rclone will end up in the trash. Microsoft
|
|
doesn't provide an API to permanently delete files, nor to empty the
|
|
trash, so you will have to do that with one of Microsoft's apps or via
|
|
the OneDrive website.
|
|
|
|
### Specific options ###
|
|
|
|
Here are the command line options specific to this cloud storage
|
|
system.
|
|
|
|
#### --onedrive-chunk-size=SIZE ####
|
|
|
|
Above this size files will be chunked - must be multiple of 320k. The
|
|
default is 10MB. Note that the chunks will be buffered into memory.
|
|
|
|
### Limitations ###
|
|
|
|
Note that OneDrive is case insensitive so you can't have a
|
|
file called "Hello.doc" and one called "hello.doc".
|
|
|
|
There are quite a few characters that can't be in OneDrive file
|
|
names. These can't occur on Windows platforms, but on non-Windows
|
|
platforms they are common. Rclone will map these names to and from an
|
|
identical looking unicode equivalent. For example if a file has a `?`
|
|
in it will be mapped to `?` instead.
|
|
|
|
The largest allowed file size is 10GiB (10,737,418,240 bytes).
|
|
|
|
### Versioning issue ###
|
|
|
|
Every change in OneDrive causes the service to create a new version.
|
|
This counts against a users quota.
|
|
For example changing the modification time of a file creates a second
|
|
version, so the file is using twice the space.
|
|
|
|
The `copy` is the only rclone command affected by this as we copy
|
|
the file and then afterwards set the modification time to match the
|
|
source file.
|
|
|
|
User [Weropol](https://github.com/Weropol) has found a method to disable
|
|
versioning on OneDrive
|
|
|
|
1. Open the settings menu by clicking on the gear symbol at the top of the OneDrive Business page.
|
|
2. Click Site settings.
|
|
3. Once on the Site settings page, navigate to Site Administration > Site libraries and lists.
|
|
4. Click Customize "Documents".
|
|
5. Click General Settings > Versioning Settings.
|
|
6. Under Document Version History select the option No versioning.
|
|
Note: This will disable the creation of new file versions, but will not remove any previous versions. Your documents are safe.
|
|
7. Apply the changes by clicking OK.
|
|
8. Use rclone to upload or modify files. (I also use the --no-update-modtime flag)
|
|
9. Restore the versioning settings after using rclone. (Optional)
|