github.com/ncw/rclone@v1.48.1-0.20190724201158-a35aa1360e3e/docs/content/ftp.md (about)

     1  ---
     2  title: "FTP"
     3  description: "Rclone docs for FTP backend"
     4  date: "2017-01-01"
     5  ---
     6  
     7  <i class="fa fa-file"></i> FTP
     8  ------------------------------
     9  
    10  FTP is the File Transfer Protocol. FTP support is provided using the
    11  [github.com/jlaffaye/ftp](https://godoc.org/github.com/jlaffaye/ftp)
    12  package.
    13  
    14  Here is an example of making an FTP configuration.  First run
    15  
    16      rclone config
    17  
    18  This will guide you through an interactive setup process. An FTP remote only
    19  needs a host together with and a username and a password. With anonymous FTP
    20  server, you will need to use `anonymous` as username and your email address as
    21  the password.
    22  
    23  ```
    24  No remotes found - make a new one
    25  n) New remote
    26  r) Rename remote
    27  c) Copy remote
    28  s) Set configuration password
    29  q) Quit config
    30  n/r/c/s/q> n
    31  name> remote
    32  Type of storage to configure.
    33  Enter a string value. Press Enter for the default ("").
    34  Choose a number from below, or type in your own value
    35  [snip]
    36  10 / FTP Connection
    37     \ "ftp"
    38  [snip]
    39  Storage> ftp
    40  ** See help for ftp backend at: https://rclone.org/ftp/ **
    41  
    42  FTP host to connect to
    43  Enter a string value. Press Enter for the default ("").
    44  Choose a number from below, or type in your own value
    45   1 / Connect to ftp.example.com
    46     \ "ftp.example.com"
    47  host> ftp.example.com
    48  FTP username, leave blank for current username, ncw
    49  Enter a string value. Press Enter for the default ("").
    50  user> 
    51  FTP port, leave blank to use default (21)
    52  Enter a string value. Press Enter for the default ("").
    53  port> 
    54  FTP password
    55  y) Yes type in my own password
    56  g) Generate random password
    57  y/g> y
    58  Enter the password:
    59  password:
    60  Confirm the password:
    61  password:
    62  Use FTP over TLS (Implicit)
    63  Enter a boolean value (true or false). Press Enter for the default ("false").
    64  tls> 
    65  Remote config
    66  --------------------
    67  [remote]
    68  type = ftp
    69  host = ftp.example.com
    70  pass = *** ENCRYPTED ***
    71  --------------------
    72  y) Yes this is OK
    73  e) Edit this remote
    74  d) Delete this remote
    75  y/e/d> y
    76  ```
    77  
    78  This remote is called `remote` and can now be used like this
    79  
    80  See all directories in the home directory
    81  
    82      rclone lsd remote:
    83  
    84  Make a new directory
    85  
    86      rclone mkdir remote:path/to/directory
    87  
    88  List the contents of a directory
    89  
    90      rclone ls remote:path/to/directory
    91  
    92  Sync `/home/local/directory` to the remote directory, deleting any
    93  excess files in the directory.
    94  
    95      rclone sync /home/local/directory remote:directory
    96  
    97  ### Modified time ###
    98  
    99  FTP does not support modified times.  Any times you see on the server
   100  will be time of upload.
   101  
   102  ### Checksums ###
   103  
   104  FTP does not support any checksums.
   105  
   106  ### Implicit TLS ###
   107  
   108  FTP supports implicit FTP over TLS servers (FTPS). This has to be enabled
   109  in the config for the remote. The default FTPS port is `990` so the
   110  port will likely have to be explictly set in the config for the remote.
   111  
   112  <!--- autogenerated options start - DO NOT EDIT, instead edit fs.RegInfo in backend/ftp/ftp.go then run make backenddocs -->
   113  ### Standard Options
   114  
   115  Here are the standard options specific to ftp (FTP Connection).
   116  
   117  #### --ftp-host
   118  
   119  FTP host to connect to
   120  
   121  - Config:      host
   122  - Env Var:     RCLONE_FTP_HOST
   123  - Type:        string
   124  - Default:     ""
   125  - Examples:
   126      - "ftp.example.com"
   127          - Connect to ftp.example.com
   128  
   129  #### --ftp-user
   130  
   131  FTP username, leave blank for current username, $USER
   132  
   133  - Config:      user
   134  - Env Var:     RCLONE_FTP_USER
   135  - Type:        string
   136  - Default:     ""
   137  
   138  #### --ftp-port
   139  
   140  FTP port, leave blank to use default (21)
   141  
   142  - Config:      port
   143  - Env Var:     RCLONE_FTP_PORT
   144  - Type:        string
   145  - Default:     ""
   146  
   147  #### --ftp-pass
   148  
   149  FTP password
   150  
   151  - Config:      pass
   152  - Env Var:     RCLONE_FTP_PASS
   153  - Type:        string
   154  - Default:     ""
   155  
   156  #### --ftp-tls
   157  
   158  Use FTP over TLS (Implicit)
   159  
   160  - Config:      tls
   161  - Env Var:     RCLONE_FTP_TLS
   162  - Type:        bool
   163  - Default:     false
   164  
   165  ### Advanced Options
   166  
   167  Here are the advanced options specific to ftp (FTP Connection).
   168  
   169  #### --ftp-concurrency
   170  
   171  Maximum number of FTP simultaneous connections, 0 for unlimited
   172  
   173  - Config:      concurrency
   174  - Env Var:     RCLONE_FTP_CONCURRENCY
   175  - Type:        int
   176  - Default:     0
   177  
   178  #### --ftp-no-check-certificate
   179  
   180  Do not verify the TLS certificate of the server
   181  
   182  - Config:      no_check_certificate
   183  - Env Var:     RCLONE_FTP_NO_CHECK_CERTIFICATE
   184  - Type:        bool
   185  - Default:     false
   186  
   187  <!--- autogenerated options stop -->
   188  
   189  ### Limitations ###
   190  
   191  Note that since FTP isn't HTTP based the following flags don't work
   192  with it: `--dump-headers`, `--dump-bodies`, `--dump-auth`
   193  
   194  Note that `--timeout` isn't supported (but `--contimeout` is).
   195  
   196  Note that `--bind` isn't supported.
   197  
   198  FTP could support server side move but doesn't yet.
   199  
   200  Note that the ftp backend does not support the `ftp_proxy` environment
   201  variable yet.
   202  
   203  Note that while implicit FTP over TLS is supported,
   204  explicit FTP over TLS is not.