1
mirror of https://github.com/rclone/rclone synced 2024-11-17 17:30:37 +01:00

docs: ftp: put limitations in a single section

The topic is mostly about so limitations so all of these are grouped together with a section hyperlink near the top of the page. Intention is to avoid potential duplication and make it more straightforward (there is a place and it is essentially just a list so wording doesn't need to be elegant) to add notes about limitations in future, harvested from rclone forum postings.

Minor wording alterations that do not intend to change meaning
This commit is contained in:
edwardxml 2020-10-30 14:59:36 +00:00 committed by GitHub
parent bfcd4113c3
commit 0cfa89f316
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,22 +6,24 @@ description: "Rclone docs for FTP backend"
{{< icon "fa fa-file" >}} FTP
------------------------------
FTP is the File Transfer Protocol. FTP support is provided using the
FTP is the File Transfer Protocol. Rclone FTP support is provided using the
[github.com/jlaffaye/ftp](https://godoc.org/github.com/jlaffaye/ftp)
package.
[Limitations of Rclone's FTP backend](#Limitations)
Paths are specified as `remote:path`. If the path does not begin with
a `/` it is relative to the home directory of the user. An empty path
`remote:` refers to the user's home directory.
Here is an example of making an FTP configuration. First run
To create an FTP configuration named `remote`, run
rclone config
This will guide you through an interactive setup process. An FTP remote only
needs a host together with and a username and a password. With anonymous FTP
server, you will need to use `anonymous` as username and your email address as
the password.
Rclone config guides you through an interactive setup process. A minimal
rclone FTP remote definition only requires host, username and password.
For an anonymous FTP server, use `anonymous` as username and your email
address as password.
```
No remotes found - make a new one
@ -81,9 +83,7 @@ d) Delete this remote
y/e/d> y
```
This remote is called `remote` and can now be used like this
See all directories in the home directory
To see all directories in the home directory of `remote`
rclone lsd remote:
@ -100,45 +100,17 @@ excess files in the directory.
rclone sync -i /home/local/directory remote:directory
### Modified time ###
FTP does not support modified times. Any times you see on the server
will be time of upload.
### Checksums ###
FTP does not support any checksums.
### Usage without a config file ###
An example how to use the ftp remote without a config file:
### Example without a config file ###
rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=`rclone obscure dummy`
#### Restricted filename characters
In addition to the [default restricted characters set](/overview/#restricted-characters)
the following characters are also replaced:
File names can also not end with the following characters.
These only get replaced if they are the last character in the name:
| Character | Value | Replacement |
| --------- |:-----:|:-----------:|
| SP | 0x20 | ␠ |
Note that not all FTP servers can have all characters in file names, for example:
| FTP Server| Forbidden characters |
| --------- |:--------------------:|
| proftpd | `*` |
| pureftpd | `\ [ ]` |
### Implicit TLS ###
FTP supports implicit FTP over TLS servers (FTPS). This has to be enabled
in the config for the remote. The default FTPS port is `990` so the
port will likely have to be explicitly set in the config for the remote.
Rlone FTP supports implicit FTP over TLS servers (FTPS). This has to
be enabled in the FTP backend config for the remote, or with
`[--ftp-tls]{#ftp-tls}`. The default FTPS port is `990`, not `21` and
can be set with `[--ftp-port]{#ftp-port}`.
{{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/ftp/ftp.go then run make backenddocs" >}}
### Standard Options
@ -257,15 +229,41 @@ See: the [encoding section in the overview](/overview/#encoding) for more info.
### Limitations ###
Note that FTP does have its own implementation of : `--dump headers`,
`--dump bodies`, `--dump auth` for debugging which isn't the same as
the HTTP based backends - it has less fine grained control.
Note that `--timeout` isn't supported (but `--contimeout` is).
Modified times are not supported. Times you see on the FTP server
through rclone are time of upload.
Note that `--bind` isn't supported.
Rclone's FTP backend does not support any checksums but can compare
file sizes.
FTP could support server-side move but doesn't yet.
The implementation of : `--dump headers`,
`--dump bodies`, `--dump auth` for debugging isn't the same as
for rclone HTTP based backends - it has less fine grained control.
Note that the ftp backend does not support the `ftp_proxy` environment
variable yet.
`--timeout` isn't supported (but `--contimeout` is).
`--bind` isn't supported.
Rclone's FTP backend could support server-side move but does not
at present.
The `ftp_proxy` environment variable is not currently supported.
#### Restricted filename characters
In addition to the [default restricted characters set](/overview/#restricted-characters)
the following characters are also replaced:
File names cannot end with the following characters. Repacement is
limited to the last character in a file name:
| Character | Value | Replacement |
| --------- |:-----:|:-----------:|
| SP | 0x20 | ␠ |
Not all FTP servers can have all characters in file names, for example:
| FTP Server| Forbidden characters |
| --------- |:--------------------:|
| proftpd | `*` |
| pureftpd | `\ [ ]` |