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.