mirror of
https://github.com/rclone/rclone.git
synced 2026-01-09 20:13:21 +00:00
ftp: fix remaining issues to make tests work
* fix root * factor ftpConnection * fix path munging * fix recursive dir loops after update * use fs.Trace and comment out debugs * re-arrange and supplement docs
This commit is contained in:
@@ -24,8 +24,8 @@ Rclone is a command line program to sync files and directories to and from
|
||||
* Backblaze B2
|
||||
* Yandex Disk
|
||||
* SFTP
|
||||
* The local filesystem
|
||||
* FTP
|
||||
* The local filesystem
|
||||
|
||||
Features
|
||||
|
||||
|
||||
@@ -7,29 +7,117 @@ date: "2017-01-01"
|
||||
<i class="fa fa-file"></i> FTP
|
||||
------------------------------
|
||||
|
||||
FTP support is provided via
|
||||
FTP is the File Transfer Protocl. FTP support is provided using the
|
||||
[github.com/jlaffaye/ftp](https://godoc.org/github.com/jlaffaye/ftp)
|
||||
package.
|
||||
|
||||
### Configuration ###
|
||||
Here is an example of making an FTP configuration. First run
|
||||
|
||||
An Ftp backend only needs an Url and and username and password. With
|
||||
rclone config
|
||||
|
||||
This will guide you through an interactive setup process. An FTP
|
||||
backend only needs an URL and and username and password. With
|
||||
anonymous FTP server you will need to use `anonymous` as username and
|
||||
your email address as password.
|
||||
|
||||
Example:
|
||||
```
|
||||
No remotes found - make a new one
|
||||
n) New remote
|
||||
r) Rename remote
|
||||
c) Copy remote
|
||||
s) Set configuration password
|
||||
q) Quit config
|
||||
n/r/c/s/q> 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 / FTP interface
|
||||
\ "ftp"
|
||||
7 / Google Cloud Storage (this is not Google Drive)
|
||||
\ "google cloud storage"
|
||||
8 / Google Drive
|
||||
\ "drive"
|
||||
9 / Hubic
|
||||
\ "hubic"
|
||||
10 / Local Disk
|
||||
\ "local"
|
||||
11 / Microsoft OneDrive
|
||||
\ "onedrive"
|
||||
12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
|
||||
\ "swift"
|
||||
13 / SSH/SFTP Connection
|
||||
\ "sftp"
|
||||
14 / Yandex Disk
|
||||
\ "yandex"
|
||||
Storage> ftp
|
||||
Username
|
||||
username> anonymous
|
||||
Password
|
||||
y) Yes type in my own password
|
||||
g) Generate random password
|
||||
y/g> y
|
||||
Enter the password:
|
||||
password:
|
||||
Confirm the password:
|
||||
password:
|
||||
FTP URL
|
||||
url> ftp://ftp.mirrorservice.org/
|
||||
Remote config
|
||||
--------------------
|
||||
[remote]
|
||||
type = Ftp
|
||||
username = anonymous
|
||||
password = john.snow@example.org
|
||||
url = ftp://ftp.kernel.org/pub
|
||||
password = *** ENCRYPTED ***
|
||||
url = ftp://ftp.mirrorservice.org/
|
||||
--------------------
|
||||
y) Yes this is OK
|
||||
e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
```
|
||||
|
||||
### Unsupported features ###
|
||||
This remote is called `remote` and can now be used like this
|
||||
|
||||
FTP backends does not support:
|
||||
See all directories in the home directory
|
||||
|
||||
* Any hash mechanism
|
||||
* Modified Time
|
||||
* remote copy/move
|
||||
rclone lsd remote:
|
||||
|
||||
Make a new directory
|
||||
|
||||
rclone mkdir remote:path/to/directory
|
||||
|
||||
List the contents of a directory
|
||||
|
||||
rclone ls remote:path/to/directory
|
||||
|
||||
Sync `/home/local/directory` to the remote directory, deleting any
|
||||
excess files in the directory.
|
||||
|
||||
rclone sync /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.
|
||||
|
||||
### Limitations ###
|
||||
|
||||
Note that since FTP isn't HTTP based the following flags don't work
|
||||
with it: `--dump-headers`, `--dump-bodies`, `--dump-auth`
|
||||
|
||||
Note that `--timeout` and `--contimeout` aren't supported.
|
||||
|
||||
FTP could support server side move but doesn't yet.
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
<li><a href="/local/"><i class="fa fa-file"></i> Local</a></li>
|
||||
<li><a href="/yandex/"><i class="fa fa-space-shuttle"></i> Yandex Disk</a></li>
|
||||
<li><a href="/sftp/"><i class="fa fa-server"></i> SFTP</a></li>
|
||||
<li><a href="/ftp/"><i class="fa fa-file"></i> FTP</a></li>
|
||||
<li><a href="/crypt/"><i class="fa fa-lock"></i> Crypt (encrypts the above)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user