github.com/artpar/rclone@v1.67.3/docs/content/commands/rclone_serve_s3.md (about) 1 --- 2 title: "rclone serve s3" 3 description: "Serve remote:path over s3." 4 slug: rclone_serve_s3 5 url: /commands/rclone_serve_s3/ 6 groups: Filter 7 status: Experimental 8 versionIntroduced: v1.65 9 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/serve/s3/ and as part of making a release run "make commanddocs" 10 --- 11 # rclone serve s3 12 13 Serve remote:path over s3. 14 15 ## Synopsis 16 17 `serve s3` implements a basic s3 server that serves a remote via s3. 18 This can be viewed with an s3 client, or you can make an [s3 type 19 remote](/s3/) to read and write to it with rclone. 20 21 `serve s3` is considered **Experimental** so use with care. 22 23 S3 server supports Signature Version 4 authentication. Just use 24 `--auth-key accessKey,secretKey` and set the `Authorization` 25 header correctly in the request. (See the [AWS 26 docs](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)). 27 28 `--auth-key` can be repeated for multiple auth pairs. If 29 `--auth-key` is not provided then `serve s3` will allow anonymous 30 access. 31 32 Please note that some clients may require HTTPS endpoints. See [the 33 SSL docs](#ssl-tls) for more information. 34 35 This command uses the [VFS directory cache](#vfs-virtual-file-system). 36 All the functionality will work with `--vfs-cache-mode off`. Using 37 `--vfs-cache-mode full` (or `writes`) can be used to cache objects 38 locally to improve performance. 39 40 Use `--force-path-style=false` if you want to use the bucket name as a 41 part of the hostname (such as mybucket.local) 42 43 Use `--etag-hash` if you want to change the hash uses for the `ETag`. 44 Note that using anything other than `MD5` (the default) is likely to 45 cause problems for S3 clients which rely on the Etag being the MD5. 46 47 ## Quickstart 48 49 For a simple set up, to serve `remote:path` over s3, run the server 50 like this: 51 52 ``` 53 rclone serve s3 --auth-key ACCESS_KEY_ID,SECRET_ACCESS_KEY remote:path 54 ``` 55 56 This will be compatible with an rclone remote which is defined like this: 57 58 ``` 59 [serves3] 60 type = s3 61 provider = Rclone 62 endpoint = http://127.0.0.1:8080/ 63 access_key_id = ACCESS_KEY_ID 64 secret_access_key = SECRET_ACCESS_KEY 65 use_multipart_uploads = false 66 ``` 67 68 Note that setting `disable_multipart_uploads = true` is to work around 69 [a bug](#bugs) which will be fixed in due course. 70 71 ## Bugs 72 73 When uploading multipart files `serve s3` holds all the parts in 74 memory (see [#7453](https://github.com/artpar/artpar/issues/7453)). 75 This is a limitaton of the library rclone uses for serving S3 and will 76 hopefully be fixed at some point. 77 78 Multipart server side copies do not work (see 79 [#7454](https://github.com/artpar/artpar/issues/7454)). These take a 80 very long time and eventually fail. The default threshold for 81 multipart server side copies is 5G which is the maximum it can be, so 82 files above this side will fail to be server side copied. 83 84 For a current list of `serve s3` bugs see the [serve 85 s3](https://github.com/artpar/artpar/labels/serve%20s3) bug category 86 on GitHub. 87 88 ## Limitations 89 90 `serve s3` will treat all directories in the root as buckets and 91 ignore all files in the root. You can use `CreateBucket` to create 92 folders under the root, but you can't create empty folders under other 93 folders not in the root. 94 95 When using `PutObject` or `DeleteObject`, rclone will automatically 96 create or clean up empty folders. If you don't want to clean up empty 97 folders automatically, use `--no-cleanup`. 98 99 When using `ListObjects`, rclone will use `/` when the delimiter is 100 empty. This reduces backend requests with no effect on most 101 operations, but if the delimiter is something other than `/` and 102 empty, rclone will do a full recursive search of the backend, which 103 can take some time. 104 105 Versioning is not currently supported. 106 107 Metadata will only be saved in memory other than the rclone `mtime` 108 metadata which will be set as the modification time of the file. 109 110 ## Supported operations 111 112 `serve s3` currently supports the following operations. 113 114 - Bucket 115 - `ListBuckets` 116 - `CreateBucket` 117 - `DeleteBucket` 118 - Object 119 - `HeadObject` 120 - `ListObjects` 121 - `GetObject` 122 - `PutObject` 123 - `DeleteObject` 124 - `DeleteObjects` 125 - `CreateMultipartUpload` 126 - `CompleteMultipartUpload` 127 - `AbortMultipartUpload` 128 - `CopyObject` 129 - `UploadPart` 130 131 Other operations will return error `Unimplemented`. 132 133 ## Server options 134 135 Use `--addr` to specify which IP address and port the server should 136 listen on, eg `--addr 1.2.3.4:8000` or `--addr :8080` to listen to all 137 IPs. By default it only listens on localhost. You can use port 138 :0 to let the OS choose an available port. 139 140 If you set `--addr` to listen on a public or LAN accessible IP address 141 then using Authentication is advised - see the next section for info. 142 143 You can use a unix socket by setting the url to `unix:///path/to/socket` 144 or just by using an absolute path name. Note that unix sockets bypass the 145 authentication - this is expected to be done with file system permissions. 146 147 `--addr` may be repeated to listen on multiple IPs/ports/sockets. 148 149 `--server-read-timeout` and `--server-write-timeout` can be used to 150 control the timeouts on the server. Note that this is the total time 151 for a transfer. 152 153 `--max-header-bytes` controls the maximum number of bytes the server will 154 accept in the HTTP header. 155 156 `--baseurl` controls the URL prefix that rclone serves from. By default 157 rclone will serve from the root. If you used `--baseurl "/rclone"` then 158 rclone would serve from a URL starting with "/rclone/". This is 159 useful if you wish to proxy rclone serve. Rclone automatically 160 inserts leading and trailing "/" on `--baseurl`, so `--baseurl "rclone"`, 161 `--baseurl "/rclone"` and `--baseurl "/rclone/"` are all treated 162 identically. 163 164 ### TLS (SSL) 165 166 By default this will serve over http. If you want you can serve over 167 https. You will need to supply the `--cert` and `--key` flags. 168 If you wish to do client side certificate validation then you will need to 169 supply `--client-ca` also. 170 171 `--cert` should be a either a PEM encoded certificate or a concatenation 172 of that with the CA certificate. `--key` should be the PEM encoded 173 private key and `--client-ca` should be the PEM encoded client 174 certificate authority certificate. 175 176 --min-tls-version is minimum TLS version that is acceptable. Valid 177 values are "tls1.0", "tls1.1", "tls1.2" and "tls1.3" (default 178 "tls1.0"). 179 180 ## VFS - Virtual File System 181 182 This command uses the VFS layer. This adapts the cloud storage objects 183 that rclone uses into something which looks much more like a disk 184 filing system. 185 186 Cloud storage objects have lots of properties which aren't like disk 187 files - you can't extend them or write to the middle of them, so the 188 VFS layer has to deal with that. Because there is no one right way of 189 doing this there are various options explained below. 190 191 The VFS layer also implements a directory cache - this caches info 192 about files and directories (but not the data) in memory. 193 194 ## VFS Directory Cache 195 196 Using the `--dir-cache-time` flag, you can control how long a 197 directory should be considered up to date and not refreshed from the 198 backend. Changes made through the VFS will appear immediately or 199 invalidate the cache. 200 201 --dir-cache-time duration Time to cache directory entries for (default 5m0s) 202 --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s) 203 204 However, changes made directly on the cloud storage by the web 205 interface or a different copy of rclone will only be picked up once 206 the directory cache expires if the backend configured does not support 207 polling for changes. If the backend supports polling, changes will be 208 picked up within the polling interval. 209 210 You can send a `SIGHUP` signal to rclone for it to flush all 211 directory caches, regardless of how old they are. Assuming only one 212 rclone instance is running, you can reset the cache like this: 213 214 kill -SIGHUP $(pidof rclone) 215 216 If you configure rclone with a [remote control](/rc) then you can use 217 rclone rc to flush the whole directory cache: 218 219 rclone rc vfs/forget 220 221 Or individual files or directories: 222 223 rclone rc vfs/forget file=path/to/file dir=path/to/dir 224 225 ## VFS File Buffering 226 227 The `--buffer-size` flag determines the amount of memory, 228 that will be used to buffer data in advance. 229 230 Each open file will try to keep the specified amount of data in memory 231 at all times. The buffered data is bound to one open file and won't be 232 shared. 233 234 This flag is a upper limit for the used memory per open file. The 235 buffer will only use memory for data that is downloaded but not not 236 yet read. If the buffer is empty, only a small amount of memory will 237 be used. 238 239 The maximum memory used by rclone for buffering can be up to 240 `--buffer-size * open files`. 241 242 ## VFS File Caching 243 244 These flags control the VFS file caching options. File caching is 245 necessary to make the VFS layer appear compatible with a normal file 246 system. It can be disabled at the cost of some compatibility. 247 248 For example you'll need to enable VFS caching if you want to read and 249 write simultaneously to a file. See below for more details. 250 251 Note that the VFS cache is separate from the cache backend and you may 252 find that you need one or the other or both. 253 254 --cache-dir string Directory rclone will use for caching. 255 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 256 --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) 257 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 258 --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off) 259 --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) 260 --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) 261 262 If run with `-vv` rclone will print the location of the file cache. The 263 files are stored in the user cache file area which is OS dependent but 264 can be controlled with `--cache-dir` or setting the appropriate 265 environment variable. 266 267 The cache has 4 different modes selected by `--vfs-cache-mode`. 268 The higher the cache mode the more compatible rclone becomes at the 269 cost of using disk space. 270 271 Note that files are written back to the remote only when they are 272 closed and if they haven't been accessed for `--vfs-write-back` 273 seconds. If rclone is quit or dies with files that haven't been 274 uploaded, these will be uploaded next time rclone is run with the same 275 flags. 276 277 If using `--vfs-cache-max-size` or `--vfs-cache-min-free-size` note 278 that the cache may exceed these quotas for two reasons. Firstly 279 because it is only checked every `--vfs-cache-poll-interval`. Secondly 280 because open files cannot be evicted from the cache. When 281 `--vfs-cache-max-size` or `--vfs-cache-min-free-size` is exceeded, 282 rclone will attempt to evict the least accessed files from the cache 283 first. rclone will start with files that haven't been accessed for the 284 longest. This cache flushing strategy is efficient and more relevant 285 files are likely to remain cached. 286 287 The `--vfs-cache-max-age` will evict files from the cache 288 after the set time since last access has passed. The default value of 289 1 hour will start evicting files from cache that haven't been accessed 290 for 1 hour. When a cached file is accessed the 1 hour timer is reset to 0 291 and will wait for 1 more hour before evicting. Specify the time with 292 standard notation, s, m, h, d, w . 293 294 You **should not** run two copies of rclone using the same VFS cache 295 with the same or overlapping remotes if using `--vfs-cache-mode > off`. 296 This can potentially cause data corruption if you do. You can work 297 around this by giving each rclone its own cache hierarchy with 298 `--cache-dir`. You don't need to worry about this if the remotes in 299 use don't overlap. 300 301 ### --vfs-cache-mode off 302 303 In this mode (the default) the cache will read directly from the remote and write 304 directly to the remote without caching anything on disk. 305 306 This will mean some operations are not possible 307 308 * Files can't be opened for both read AND write 309 * Files opened for write can't be seeked 310 * Existing files opened for write must have O_TRUNC set 311 * Files open for read with O_TRUNC will be opened write only 312 * Files open for write only will behave as if O_TRUNC was supplied 313 * Open modes O_APPEND, O_TRUNC are ignored 314 * If an upload fails it can't be retried 315 316 ### --vfs-cache-mode minimal 317 318 This is very similar to "off" except that files opened for read AND 319 write will be buffered to disk. This means that files opened for 320 write will be a lot more compatible, but uses the minimal disk space. 321 322 These operations are not possible 323 324 * Files opened for write only can't be seeked 325 * Existing files opened for write must have O_TRUNC set 326 * Files opened for write only will ignore O_APPEND, O_TRUNC 327 * If an upload fails it can't be retried 328 329 ### --vfs-cache-mode writes 330 331 In this mode files opened for read only are still read directly from 332 the remote, write only and read/write files are buffered to disk 333 first. 334 335 This mode should support all normal file system operations. 336 337 If an upload fails it will be retried at exponentially increasing 338 intervals up to 1 minute. 339 340 ### --vfs-cache-mode full 341 342 In this mode all reads and writes are buffered to and from disk. When 343 data is read from the remote this is buffered to disk as well. 344 345 In this mode the files in the cache will be sparse files and rclone 346 will keep track of which bits of the files it has downloaded. 347 348 So if an application only reads the starts of each file, then rclone 349 will only buffer the start of the file. These files will appear to be 350 their full size in the cache, but they will be sparse files with only 351 the data that has been downloaded present in them. 352 353 This mode should support all normal file system operations and is 354 otherwise identical to `--vfs-cache-mode` writes. 355 356 When reading a file rclone will read `--buffer-size` plus 357 `--vfs-read-ahead` bytes ahead. The `--buffer-size` is buffered in memory 358 whereas the `--vfs-read-ahead` is buffered on disk. 359 360 When using this mode it is recommended that `--buffer-size` is not set 361 too large and `--vfs-read-ahead` is set large if required. 362 363 **IMPORTANT** not all file systems support sparse files. In particular 364 FAT/exFAT do not. Rclone will perform very badly if the cache 365 directory is on a filesystem which doesn't support sparse files and it 366 will log an ERROR message if one is detected. 367 368 ### Fingerprinting 369 370 Various parts of the VFS use fingerprinting to see if a local file 371 copy has changed relative to a remote file. Fingerprints are made 372 from: 373 374 - size 375 - modification time 376 - hash 377 378 where available on an object. 379 380 On some backends some of these attributes are slow to read (they take 381 an extra API call per object, or extra work per object). 382 383 For example `hash` is slow with the `local` and `sftp` backends as 384 they have to read the entire file and hash it, and `modtime` is slow 385 with the `s3`, `swift`, `ftp` and `qinqstor` backends because they 386 need to do an extra API call to fetch it. 387 388 If you use the `--vfs-fast-fingerprint` flag then rclone will not 389 include the slow operations in the fingerprint. This makes the 390 fingerprinting less accurate but much faster and will improve the 391 opening time of cached files. 392 393 If you are running a vfs cache over `local`, `s3` or `swift` backends 394 then using this flag is recommended. 395 396 Note that if you change the value of this flag, the fingerprints of 397 the files in the cache may be invalidated and the files will need to 398 be downloaded again. 399 400 ## VFS Chunked Reading 401 402 When rclone reads files from a remote it reads them in chunks. This 403 means that rather than requesting the whole file rclone reads the 404 chunk specified. This can reduce the used download quota for some 405 remotes by requesting only chunks from the remote that are actually 406 read, at the cost of an increased number of requests. 407 408 These flags control the chunking: 409 410 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M) 411 --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off) 412 413 Rclone will start reading a chunk of size `--vfs-read-chunk-size`, 414 and then double the size for each read. When `--vfs-read-chunk-size-limit` is 415 specified, and greater than `--vfs-read-chunk-size`, the chunk size for each 416 open file will get doubled only until the specified value is reached. If the 417 value is "off", which is the default, the limit is disabled and the chunk size 418 will grow indefinitely. 419 420 With `--vfs-read-chunk-size 100M` and `--vfs-read-chunk-size-limit 0` 421 the following parts will be downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on. 422 When `--vfs-read-chunk-size-limit 500M` is specified, the result would be 423 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so on. 424 425 Setting `--vfs-read-chunk-size` to `0` or "off" disables chunked reading. 426 427 ## VFS Performance 428 429 These flags may be used to enable/disable features of the VFS for 430 performance or other reasons. See also the [chunked reading](#vfs-chunked-reading) 431 feature. 432 433 In particular S3 and Swift benefit hugely from the `--no-modtime` flag 434 (or use `--use-server-modtime` for a slightly different effect) as each 435 read of the modification time takes a transaction. 436 437 --no-checksum Don't compare checksums on up/download. 438 --no-modtime Don't read/write the modification time (can speed things up). 439 --no-seek Don't allow seeking in files. 440 --read-only Only allow read-only access. 441 442 Sometimes rclone is delivered reads or writes out of order. Rather 443 than seeking rclone will wait a short time for the in sequence read or 444 write to come in. These flags only come into effect when not using an 445 on disk cache file. 446 447 --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms) 448 --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s) 449 450 When using VFS write caching (`--vfs-cache-mode` with value writes or full), 451 the global flag `--transfers` can be set to adjust the number of parallel uploads of 452 modified files from the cache (the related global flag `--checkers` has no effect on the VFS). 453 454 --transfers int Number of file transfers to run in parallel (default 4) 455 456 ## VFS Case Sensitivity 457 458 Linux file systems are case-sensitive: two files can differ only 459 by case, and the exact case must be used when opening a file. 460 461 File systems in modern Windows are case-insensitive but case-preserving: 462 although existing files can be opened using any case, the exact case used 463 to create the file is preserved and available for programs to query. 464 It is not allowed for two files in the same directory to differ only by case. 465 466 Usually file systems on macOS are case-insensitive. It is possible to make macOS 467 file systems case-sensitive but that is not the default. 468 469 The `--vfs-case-insensitive` VFS flag controls how rclone handles these 470 two cases. If its value is "false", rclone passes file names to the remote 471 as-is. If the flag is "true" (or appears without a value on the 472 command line), rclone may perform a "fixup" as explained below. 473 474 The user may specify a file name to open/delete/rename/etc with a case 475 different than what is stored on the remote. If an argument refers 476 to an existing file with exactly the same name, then the case of the existing 477 file on the disk will be used. However, if a file name with exactly the same 478 name is not found but a name differing only by case exists, rclone will 479 transparently fixup the name. This fixup happens only when an existing file 480 is requested. Case sensitivity of file names created anew by rclone is 481 controlled by the underlying remote. 482 483 Note that case sensitivity of the operating system running rclone (the target) 484 may differ from case sensitivity of a file system presented by rclone (the source). 485 The flag controls whether "fixup" is performed to satisfy the target. 486 487 If the flag is not provided on the command line, then its default value depends 488 on the operating system where rclone runs: "true" on Windows and macOS, "false" 489 otherwise. If the flag is provided without a value, then it is "true". 490 491 The `--no-unicode-normalization` flag controls whether a similar "fixup" is 492 performed for filenames that differ but are [canonically 493 equivalent](https://en.wikipedia.org/wiki/Unicode_equivalence) with respect to 494 unicode. Unicode normalization can be particularly helpful for users of macOS, 495 which prefers form NFD instead of the NFC used by most other platforms. It is 496 therefore highly recommended to keep the default of `false` on macOS, to avoid 497 encoding compatibility issues. 498 499 In the (probably unlikely) event that a directory has multiple duplicate 500 filenames after applying case and unicode normalization, the `--vfs-block-norm-dupes` 501 flag allows hiding these duplicates. This comes with a performance tradeoff, as 502 rclone will have to scan the entire directory for duplicates when listing a 503 directory. For this reason, it is recommended to leave this disabled if not 504 needed. However, macOS users may wish to consider using it, as otherwise, if a 505 remote directory contains both NFC and NFD versions of the same filename, an odd 506 situation will occur: both versions of the file will be visible in the mount, 507 and both will appear to be editable, however, editing either version will 508 actually result in only the NFD version getting edited under the hood. `--vfs-block- 509 norm-dupes` prevents this confusion by detecting this scenario, hiding the 510 duplicates, and logging an error, similar to how this is handled in `rclone 511 sync`. 512 513 ## VFS Disk Options 514 515 This flag allows you to manually set the statistics about the filing system. 516 It can be useful when those statistics cannot be read correctly automatically. 517 518 --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) 519 520 ## Alternate report of used bytes 521 522 Some backends, most notably S3, do not report the amount of bytes used. 523 If you need this information to be available when running `df` on the 524 filesystem, then pass the flag `--vfs-used-is-size` to rclone. 525 With this flag set, instead of relying on the backend to report this 526 information, rclone will scan the whole remote similar to `rclone size` 527 and compute the total used space itself. 528 529 _WARNING._ Contrary to `rclone size`, this flag ignores filters so that the 530 result is accurate. However, this is very inefficient and may cost lots of API 531 calls resulting in extra charges. Use it as a last resort and only with caching. 532 533 534 ``` 535 rclone serve s3 remote:path [flags] 536 ``` 537 538 ## Options 539 540 ``` 541 --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080]) 542 --allow-origin string Origin which cross-domain request (CORS) can be executed from 543 --auth-key stringArray Set key pair for v4 authorization: access_key_id,secret_access_key 544 --baseurl string Prefix for URLs - leave blank for root 545 --cert string TLS PEM key (concatenation of certificate and CA certificate) 546 --client-ca string Client certificate authority to verify clients with 547 --dir-cache-time Duration Time to cache directory entries for (default 5m0s) 548 --dir-perms FileMode Directory permissions (default 0777) 549 --etag-hash string Which hash to use for the ETag, or auto or blank for off (default "MD5") 550 --file-perms FileMode File permissions (default 0666) 551 --force-path-style If true use path style access if false use virtual hosted style (default true) (default true) 552 --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000) 553 -h, --help help for s3 554 --key string TLS PEM Private key 555 --max-header-bytes int Maximum size of request header (default 4096) 556 --min-tls-version string Minimum TLS version that is acceptable (default "tls1.0") 557 --no-checksum Don't compare checksums on up/download 558 --no-cleanup Not to cleanup empty folder after object is deleted 559 --no-modtime Don't read/write the modification time (can speed things up) 560 --no-seek Don't allow seeking in files 561 --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s) 562 --read-only Only allow read-only access 563 --server-read-timeout Duration Timeout for server reading data (default 1h0m0s) 564 --server-write-timeout Duration Timeout for server writing data (default 1h0m0s) 565 --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) 566 --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2) 567 --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost) 568 --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s) 569 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 570 --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off) 571 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 572 --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s) 573 --vfs-case-insensitive If a file name not found, find a case insensitive match 574 --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off) 575 --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection 576 --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full 577 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi) 578 --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached ('off' is unlimited) (default off) 579 --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms) 580 --vfs-refresh Refreshes the directory cache recursively in the background on start 581 --vfs-used-is-size rclone size Use the rclone size algorithm for Used size 582 --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s) 583 --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s) 584 ``` 585 586 587 ## Filter Options 588 589 Flags for filtering directory listings. 590 591 ``` 592 --delete-excluded Delete files on dest excluded from sync 593 --exclude stringArray Exclude files matching pattern 594 --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin) 595 --exclude-if-present stringArray Exclude directories if filename is present 596 --files-from stringArray Read list of source-file names from file (use - to read from stdin) 597 --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin) 598 -f, --filter stringArray Add a file filtering rule 599 --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin) 600 --ignore-case Ignore case in filters (case insensitive) 601 --include stringArray Include files matching pattern 602 --include-from stringArray Read file include patterns from file (use - to read from stdin) 603 --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off) 604 --max-depth int If set limits the recursion depth to this (default -1) 605 --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off) 606 --metadata-exclude stringArray Exclude metadatas matching pattern 607 --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin) 608 --metadata-filter stringArray Add a metadata filtering rule 609 --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin) 610 --metadata-include stringArray Include metadatas matching pattern 611 --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin) 612 --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off) 613 --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off) 614 ``` 615 616 See the [global flags page](/flags/) for global options not listed here. 617 618 # SEE ALSO 619 620 * [rclone serve](/commands/rclone_serve/) - Serve a remote over a protocol. 621