FTP Upload (Failed to copy: update stor: 550 Permission denied)

What is the problem you are having with rclone?

Unable to upload to my FTP server when I have no problem with the ls command :

2020/04/26 11:40:17 DEBUG : .htaccess: Failed to remove: object not found
2020/04/26 11:40:17 ERROR : .htaccess: Failed to copy: update stor: 550 Permission denied.
2020/04/26 11:40:17 DEBUG : backup-2020-04-26-09hxx.tar.gz: Failed to remove: object not found
2020/04/26 11:40:17 ERROR : backup-2020-04-26-09hxx.tar.gz: Failed to copy: update stor: 550 Permission denied.
2020/04/26 11:40:17 ERROR : Attempt 1/3 failed with 2 errors and: update stor: 550 Permission denied.

What is your rclone version (output from rclone version)

rclone v1.51.0

  • os/arch: linux/amd64
  • go version: go1.13.7

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Linux 64 bits

Which cloud storage system are you using? (eg Google Drive)

FTP Server

The command you were trying to run (eg rclone copy /tmp remote:tmp)

/tmp/rclone-v1.51.0-linux-amd64/rclone -vv --config /tmp/rclone.conf copy /var/www/html/backup '1135:/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY'

A log from the command with the -vv flag (eg output from rclone -vv copy /tmp remote:tmp)

/tmp/rclone-v1.51.0-linux-amd64/rclone -vv --config /tmp/rclone.conf copy /var/www/html/backup '1135:/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY'
2020/04/26 11:40:15 DEBUG : rclone: Version "v1.51.0" starting with parameters ["/tmp/rclone-v1.51.0-linux-amd64/rclone" "-vv" "--config" "/tmp/rclone.conf" "copy" "/var/www/html/backup" "1135:/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY"]
2020/04/26 11:40:15 DEBUG : Using config file from "/tmp/rclone.conf"
2020/04/26 11:40:15 DEBUG : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Connecting to FTP server
2020/04/26 11:40:16 DEBUG : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Connecting to FTP server
2020/04/26 11:40:16 INFO : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Waiting for checks to finish
2020/04/26 11:40:16 INFO : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Waiting for transfers to finish
2020/04/26 11:40:17 DEBUG : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Connecting to FTP server
2020/04/26 11:40:17 DEBUG : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Connecting to FTP server
2020/04/26 11:40:17 DEBUG : .htaccess: Failed to remove: object not found
2020/04/26 11:40:17 ERROR : .htaccess: Failed to copy: update stor: 550 Permission denied.
2020/04/26 11:40:17 DEBUG : backup-2020-04-26-09hxx.tar.gz: Failed to remove: object not found
2020/04/26 11:40:17 ERROR : backup-2020-04-26-09hxx.tar.gz: Failed to copy: update stor: 550 Permission denied.
2020/04/26 11:40:17 ERROR : Attempt 1/3 failed with 2 errors and: update stor: 550 Permission denied.
2020/04/26 11:40:17 INFO : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Waiting for checks to finish
2020/04/26 11:40:17 INFO : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Waiting for transfers to finish
2020/04/26 11:40:18 DEBUG : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Connecting to FTP server
2020/04/26 11:40:18 DEBUG : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Connecting to FTP server
2020/04/26 11:40:18 DEBUG : .htaccess: Failed to remove: object not found
2020/04/26 11:40:18 DEBUG : backup-2020-04-26-09hxx.tar.gz: Failed to remove: object not found
2020/04/26 11:40:18 ERROR : .htaccess: Failed to copy: update stor: 550 Permission denied.
2020/04/26 11:40:18 ERROR : backup-2020-04-26-09hxx.tar.gz: Failed to copy: update stor: 550 Permission denied.
2020/04/26 11:40:18 ERROR : Attempt 2/3 failed with 2 errors and: update stor: 550 Permission denied.
2020/04/26 11:40:18 INFO : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Waiting for checks to finish
2020/04/26 11:40:18 INFO : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Waiting for transfers to finish
2020/04/26 11:40:19 DEBUG : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Connecting to FTP server
2020/04/26 11:40:19 DEBUG : ftp:192.168.1.1:21/volume(sdb1)/XXXXXX/Sauvegarde/YYYYYY: Connecting to FTP server
2020/04/26 11:40:19 DEBUG : .htaccess: Failed to remove: object not found
2020/04/26 11:40:19 ERROR : .htaccess: Failed to copy: update stor: 550 Permission denied.
2020/04/26 11:40:19 DEBUG : backup-2020-04-26-09hxx.tar.gz: Failed to remove: object not found
2020/04/26 11:40:19 ERROR : backup-2020-04-26-09hxx.tar.gz: Failed to copy: update stor: 550 Permission denied.
2020/04/26 11:40:19 ERROR : Attempt 3/3 failed with 2 errors and: update stor: 550 Permission denied.
2020/04/26 11:40:19 Failed to copy with 2 errors: last error was: update stor: 550 Permission denied.

It looks like the user maybe doesn't have permissions to access those two files?

What are the permissions on this file?

ls -al the file

What user are you running as?

Thanks for your answer.

I don't think this is a problem at the source as it identifies all the files to be uploaded to the FTP site.
In addition, I systematically have these two logs for each file:
2020/04/26 11:40:18 DEBUG: backup-2020-04-26-09hxx.tar.gz: Failed to remove: object not found
2020/04/26 11:40:18 ERROR : backup-2020-04-26-09hxx.tar.gz: Failed to copy: update stor: 550 Permission denied.

In view of the contents of the logs "Failed to remove: object not found" and "Failed to copy: update stor", it is indeed a log of the rclone program (rclone/backend/ftp/ftp.go) within the Update method.

Finally, I tried with another FTP server and I have no problem.
Additional information: I can access this FTP server without any problem with Filezilla.
There is only rclone which cannot copy files to it.

[EDIT] : Here is the problematic FTP server
www. tp-link . com/us/support/faq/1158/

If you can share what i asked, we can rule it out and move forward. It's easier to deal with what we know than to assume things.

Permissions on the local directory:
-rwxrwxr-x 1 www-data www-data 69197768 Apr 26 07:08 backup-2020-04-26-07hxx.tar.gz
-rwxrwxr-x 1 www-data www-data 30 Apr 26 06:51 .htaccess

The user is running as www-data

As I said before, I have no problem with this same rclone command on the same source directory when I specify another FTP server.

Can you put the ftp server in debug and see what it's doing when the file fails?

To me it looks like you already have that file on the ftp server and rclone is trying to delete it and then reupload it and it's failing to do so. It seems like something on the tplink side. I wonder if filezilla tries to delete first and then upload. I seem to remember rclone doing replaces differently by deleting first.

@Animosity022
It is an internal FTP server in a TPLink router
Unable to put this server in debug mode to have more log.

@calisro
The directory is empty at the destination.
I believe that this is the internal behavior of rclone given the code and the logs

And it works if you manually run ftp and put that file on the problematic ftp server?

I can upload without any issue with Filezilla on this problematic ftp server.
Is it possible to have more logs on the FTP connection through rclone?

No. DEBUG is the highest level but the logs you show tell us the actual commands being run against the ftp server. Can you produce a debug log with filezilla and then with rclone for the same activity transferring one file? I wonder what filezilla is doing differently or not doing.

Sorry for the delay but here is the requested test. Any idea ?

Filezilla:filezilla.txt (16.8 KB)

Rclone:

2020/05/02 11:27:08 DEBUG : rclone: Version "v1.51.0" starting with parameters ["./rclone" "-vv" "--config" "/tmp/rclone.conf" "copy" "/tmp/Examples" "119:/volume(sdb1)/tmaby"]
2020/05/02 11:27:08 DEBUG : Using config file from "/var/www/html/plugins/cloudsyncpro/core/config/rclone.conf"
2020/05/02 11:27:08 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/02 11:27:08 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for checks to finish
2020/05/02 11:27:08 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for transfers to finish
2020/05/02 11:27:09 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/02 11:27:09 DEBUG : CLI_Therm_API_Example.php: Failed to remove: object not found
2020/05/02 11:27:09 ERROR : CLI_Therm_API_Example.php: Failed to copy: update stor: 550 Permission denied.
2020/05/02 11:27:09 ERROR : Attempt 1/3 failed with 1 errors and: update stor: 550 Permission denied.
2020/05/02 11:27:09 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for checks to finish
2020/05/02 11:27:09 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for transfers to finish
2020/05/02 11:27:11 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/02 11:27:11 DEBUG : CLI_Therm_API_Example.php: Failed to remove: object not found
2020/05/02 11:27:11 ERROR : CLI_Therm_API_Example.php: Failed to copy: update stor: 550 Permission denied.
2020/05/02 11:27:11 ERROR : Attempt 2/3 failed with 1 errors and: update stor: 550 Permission denied.
2020/05/02 11:27:11 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for checks to finish
2020/05/02 11:27:11 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for transfers to finish
2020/05/02 11:27:12 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/02 11:27:12 DEBUG : CLI_Therm_API_Example.php: Failed to remove: object not found
2020/05/02 11:27:12 ERROR : CLI_Therm_API_Example.php: Failed to copy: update stor: 550 Permission denied.
2020/05/02 11:27:12 ERROR : Attempt 3/3 failed with 1 errors and: update stor: 550 Permission denied.
2020/05/02 11:27:12 Failed to copy: update stor: 550 Permission denied.

The base error here is the 550 Permission deniied error when trying to run the STOR command.

The remove error is rclone trying to remove the failed upload so can be ignored.

One thing to check would be is the path correct? Rclone will be using absolute paths to upload whereas I can see that filezilla uses relative paths. So it might be worth using rclone lsf 119: to try to explore the remote filesystem to make sure you are storing things in the right place.

I know that NAS quite often present a different external path to the one they use internally - we had that problem with the sftp backend I seem to remember.

lsf command:

2020/05/02 11:57:47 DEBUG : rclone: Version "v1.51.0" starting with parameters ["./rclone" "-vv" "--config" "/tmp/rclone.conf" "lsf" "119:/volume(sdb1)/tmaby"]
2020/05/02 11:57:47 DEBUG : Using config file from "/tmp/rclone.conf"
2020/05/02 11:57:47 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
README.html
2020/05/02 11:57:47 DEBUG : 3 go routines active
2020/05/02 11:57:47 DEBUG : rclone: Version "v1.51.0" finishing with parameters ["./rclone" "-vv" "--config" "tmp/rclone.conf" "lsf" "119:/volume(sdb1)/tmaby"]

ls command:

2020/05/02 11:57:33 DEBUG : rclone: Version "v1.51.0" starting with parameters ["./rclone" "-vv" "--config" "/tmp/rclone.conf" "ls" "119:/volume(sdb1)/tmaby"]
2020/05/02 11:57:33 DEBUG : Using config file from "/tmp/rclone.conf"
2020/05/02 11:57:33 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
   985654 README.html
2020/05/02 11:57:35 DEBUG : 3 go routines active
2020/05/02 11:57:35 DEBUG : rclone: Version "v1.51.0" finishing with parameters ["./rclone" "-vv" "--config" "/tmp/rclone.conf" "ls" "119:/volume(sdb1)/tmaby"]

Is that what you were expecting to see?

Can you read the html file with rclone? so rclone cat 119:/volume(sdb1)/tmaby/README.html?

I expect to see this file because it is present in the directory on the FTP server thanks to Filezilla.
The problem is I can't get rclone to upload another files without error.

No error and I can see the content of the README.html file with the cat command of rclone.

Is there a different path you could try say /tmp - I'm wondering if the ( ) are confusing the FTP STOR command somehow.

Note that filezilla runs cd to change into the directory before uploading but rclone will use the full path so that may be the difference.

I try another source path. This is logs:

root@xxxxxx:~/rclone-v1.51.0-linux-amd64# ./rclone -vv --config /root/rclone-v1.51.0-linux-amd64/rclone.conf copy /var/www/html/vendor/ralouphie "119:/volume(sdb1)/tmaby"
2020/05/05 12:28:05 DEBUG : rclone: Version "v1.51.0" starting with parameters ["./rclone" "-vv" "--config" "/root/rclone-v1.51.0-linux-amd64/rclone.conf" "copy" "/var/www/html/vendor/ralouphie" "119:/volume(sdb1)/tmaby"]
2020/05/05 12:28:05 DEBUG : Using config file from "/root/rclone-v1.51.0-linux-amd64/rclone.conf"
2020/05/05 12:28:05 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:05 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:05 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:05 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:05 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for checks to finish
2020/05/05 12:28:05 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for transfers to finish
2020/05/05 12:28:06 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:06 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:06 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:06 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:06 DEBUG : getallheaders/.gitignore: Failed to remove: object not found
2020/05/05 12:28:06 ERROR : getallheaders/.gitignore: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:07 DEBUG : getallheaders/.travis.yml: Failed to remove: object not found
2020/05/05 12:28:07 ERROR : getallheaders/.travis.yml: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:07 DEBUG : getallheaders/README.md: Failed to remove: object not found
2020/05/05 12:28:07 ERROR : getallheaders/README.md: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:07 DEBUG : getallheaders/LICENSE: Failed to remove: object not found
2020/05/05 12:28:07 ERROR : getallheaders/LICENSE: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:08 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:08 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:08 DEBUG : getallheaders/composer.json: Failed to remove: object not found
2020/05/05 12:28:08 ERROR : getallheaders/composer.json: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:08 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:08 DEBUG : getallheaders/tests/GetAllHeadersTest.php: Failed to remove: object not found
2020/05/05 12:28:08 ERROR : getallheaders/tests/GetAllHeadersTest.php: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:08 DEBUG : getallheaders/phpunit.xml: Failed to remove: object not found
2020/05/05 12:28:08 ERROR : getallheaders/phpunit.xml: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:08 DEBUG : getallheaders/src/getallheaders.php: Failed to remove: object not found
2020/05/05 12:28:08 ERROR : getallheaders/src/getallheaders.php: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:08 ERROR : Attempt 1/3 failed with 8 errors and: update stor: 550 Permission denied.
2020/05/05 12:28:08 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:08 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for checks to finish
2020/05/05 12:28:08 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for transfers to finish
2020/05/05 12:28:10 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:10 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:10 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:10 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:10 DEBUG : getallheaders/.gitignore: Failed to remove: object not found
2020/05/05 12:28:10 ERROR : getallheaders/.gitignore: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:10 DEBUG : getallheaders/.travis.yml: Failed to remove: object not found
2020/05/05 12:28:10 ERROR : getallheaders/.travis.yml: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:10 DEBUG : getallheaders/LICENSE: Failed to remove: object not found
2020/05/05 12:28:10 ERROR : getallheaders/LICENSE: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:10 DEBUG : getallheaders/README.md: Failed to remove: object not found
2020/05/05 12:28:10 ERROR : getallheaders/README.md: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:11 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:11 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:11 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:11 DEBUG : getallheaders/composer.json: Failed to remove: object not found
2020/05/05 12:28:11 ERROR : getallheaders/composer.json: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:11 DEBUG : getallheaders/phpunit.xml: Failed to remove: object not found
2020/05/05 12:28:11 ERROR : getallheaders/phpunit.xml: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:12 DEBUG : getallheaders/src/getallheaders.php: Failed to remove: object not found
2020/05/05 12:28:12 ERROR : getallheaders/src/getallheaders.php: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:12 DEBUG : getallheaders/tests/GetAllHeadersTest.php: Failed to remove: object not found
2020/05/05 12:28:12 ERROR : getallheaders/tests/GetAllHeadersTest.php: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:12 ERROR : Attempt 2/3 failed with 8 errors and: update stor: 550 Permission denied.
2020/05/05 12:28:12 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:12 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for checks to finish
2020/05/05 12:28:12 INFO  : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Waiting for transfers to finish
2020/05/05 12:28:13 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:13 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:13 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:13 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:13 DEBUG : getallheaders/.gitignore: Failed to remove: object not found
2020/05/05 12:28:13 ERROR : getallheaders/.gitignore: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:13 DEBUG : getallheaders/LICENSE: Failed to remove: object not found
2020/05/05 12:28:13 ERROR : getallheaders/LICENSE: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:13 DEBUG : getallheaders/.travis.yml: Failed to remove: object not found
2020/05/05 12:28:13 ERROR : getallheaders/.travis.yml: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:13 DEBUG : getallheaders/README.md: Failed to remove: object not found
2020/05/05 12:28:13 ERROR : getallheaders/README.md: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:14 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:14 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:15 DEBUG : ftp://XX.XX.XX.XX:21/volume(sdb1)/tmaby: Connecting to FTP server
2020/05/05 12:28:15 DEBUG : getallheaders/composer.json: Failed to remove: object not found
2020/05/05 12:28:15 ERROR : getallheaders/composer.json: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:15 DEBUG : getallheaders/phpunit.xml: Failed to remove: object not found
2020/05/05 12:28:15 ERROR : getallheaders/phpunit.xml: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:15 DEBUG : getallheaders/tests/GetAllHeadersTest.php: Failed to remove: object not found
2020/05/05 12:28:15 ERROR : getallheaders/tests/GetAllHeadersTest.php: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:15 DEBUG : getallheaders/src/getallheaders.php: Failed to remove: object not found
2020/05/05 12:28:15 ERROR : getallheaders/src/getallheaders.php: Failed to copy: update stor: 550 Permission denied.
2020/05/05 12:28:15 ERROR : Attempt 3/3 failed with 8 errors and: update stor: 550 Permission denied.
2020/05/05 12:28:15 Failed to copy with 8 errors: last error was: update stor: 550 Permission denied.

Ah, here is an idea...

Try uploading the files with a relative path

/tmp/rclone-v1.51.0-linux-amd64/rclone -vv --config /tmp/rclone.conf copy /var/www/html/backup '1135:Sauvegarde/YYYYYY'

Does that work? Maybe just try copying a single file

rclone copy -vv file.txt 1135:

Maybe the FTP server doesn't like the references to the root and wants you to use the user home directory...

What do you see if you do rclone lsf 1135: can you figure out where in the file system that is?

I have no problem with the ls or lsf command. The output corresponds to the content of the FTP server whatever the path indicated

rclone lsf 119:/volume(sdb1)
rclone lsf 119:volume(sdb1)
rclone lsf 119:

On the other hand, I always have an error "550 Permission denied" whatever the destination (relative or not relative) that I indicate when I use the copy command.