Premiumize can't move files

What is the problem you are having with rclone?

When moving a file in a mounted remote, the mv command fails with File or Directory not found.

What is your rclone version (output from rclone version)

My main version is

rclone v1.56.0
- os/version: arch 21.2.0 (64 bit)
- os/kernel: 5.14.13-1-MANJARO (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.16.5
- go/linking: static
- go/tags: none

I tried also downgrading to 1.55.1, using the current master (unfortunately, I didn't record the version number), and the "latest" beta v1.57.0-beta.5801.bb11803f1.

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

Manjaro 64bit (I can reproduce on Arch as well.)

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

premiumize.me

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

I have created the extra directory test/ and within two directories: test/OldDir and test/NewDir. I want to move the existing file test/OldDir/OldFile.bin to test/NewFile/NewFile.bin.

It worked at some point but downgrading doesn't help, so I guess PremiumizeMe changed something which need to be adapted.

rclone mount -vv --log-file ./from-mount.log premiumize:test ./mount
mv "mount/OldDir/OldFile.bin" "premiumize/NewDir/NewFile.bin"

mv failes with
mv: cannot move 'OldDir/OldFile.bin' to 'NewDir/NewFile.bin': No such file or directory

Right after this failed attempt, the file OldDir/OldFile.bin disappears from the mount directory but
after a short time (maybe a minute?) in the OldDir/ directory, the renamed file OldDir/NewFile.bin appears.

The rclone config contents with secrets removed.

[premiumize]
type = premiumizeme
token = <redacted>

A log from the command with the -vv flag

2021/10/26 20:17:48 DEBUG : rclone: Version "v1.56.0" starting with parameters ["rclone" "mount" "-vv" "--log-file" "./rclone.log" "premiumize:test" "./mount"]
2021/10/26 20:17:48 DEBUG : Creating backend with remote "premiumize:test"
2021/10/26 20:17:48 DEBUG : Using config file from "<my_config>"
2021/10/26 20:17:48 INFO  : premiumize.me root 'test': poll-interval is not supported by this remote
2021/10/26 20:17:48 NOTICE: premiumize.me root 'test': --vfs-cache-mode writes or full is recommended for this remote as it can't stream
2021/10/26 20:17:48 DEBUG : premiumize.me root 'test': Mounting on "./mount"
2021/10/26 20:17:48 DEBUG : : Root: 
2021/10/26 20:17:48 DEBUG : : >Root: node=/, err=<nil>
2021/10/26 20:17:48 DEBUG : /: Lookup: name=".Trash"
2021/10/26 20:17:48 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2021/10/26 20:17:48 DEBUG : /: Lookup: name=".Trash-60110"
2021/10/26 20:17:48 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2021/10/26 20:17:57 DEBUG : /: Attr: 
2021/10/26 20:17:57 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:18:00 DEBUG : /: Attr: 
2021/10/26 20:18:00 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:18:00 DEBUG : /: ReadDirAll: 
2021/10/26 20:18:00 DEBUG : /: >ReadDirAll: item=4, err=<nil>
2021/10/26 20:18:00 DEBUG : /: Lookup: name="NewDir"
2021/10/26 20:18:00 DEBUG : /: >Lookup: node=NewDir/, err=<nil>
2021/10/26 20:18:00 DEBUG : NewDir/: Attr: 
2021/10/26 20:18:00 DEBUG : NewDir/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:18:00 DEBUG : /: Lookup: name="OldDir"
2021/10/26 20:18:00 DEBUG : /: >Lookup: node=OldDir/, err=<nil>
2021/10/26 20:18:00 DEBUG : OldDir/: Attr: 
2021/10/26 20:18:00 DEBUG : OldDir/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:18:00 DEBUG : NewDir/: ReadDirAll: 
2021/10/26 20:18:00 DEBUG : NewDir/: >ReadDirAll: item=2, err=<nil>
2021/10/26 20:18:00 DEBUG : OldDir/: ReadDirAll: 
2021/10/26 20:18:00 DEBUG : OldDir/: >ReadDirAll: item=3, err=<nil>
2021/10/26 20:18:00 DEBUG : OldDir/: Lookup: name="OldFile.bin"
2021/10/26 20:18:00 DEBUG : OldDir/: >Lookup: node=OldDir/OldFile.bin, err=<nil>
2021/10/26 20:18:00 DEBUG : OldDir/OldFile.bin: Attr: 
2021/10/26 20:18:00 DEBUG : OldDir/OldFile.bin: >Attr: a=valid=1s ino=0 size=5242880 mode=-rw-r--r--, err=<nil>
2021/10/26 20:18:15 DEBUG : /: Lookup: name="OldDir"
2021/10/26 20:18:15 DEBUG : /: >Lookup: node=OldDir/, err=<nil>
2021/10/26 20:18:15 DEBUG : OldDir/: Attr: 
2021/10/26 20:18:15 DEBUG : OldDir/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:18:15 DEBUG : /: Lookup: name="NewDir"
2021/10/26 20:18:15 DEBUG : /: >Lookup: node=NewDir/, err=<nil>
2021/10/26 20:18:15 DEBUG : NewDir/: Attr: 
2021/10/26 20:18:15 DEBUG : NewDir/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:18:15 DEBUG : OldDir/: Lookup: name="OldFile.bin"
2021/10/26 20:18:15 DEBUG : OldDir/: >Lookup: node=OldDir/OldFile.bin, err=<nil>
2021/10/26 20:18:15 DEBUG : OldDir/OldFile.bin: Attr: 
2021/10/26 20:18:15 DEBUG : OldDir/OldFile.bin: >Attr: a=valid=1s ino=0 size=5242880 mode=-rw-r--r--, err=<nil>
2021/10/26 20:18:15 DEBUG : NewDir/: Lookup: name="NewFile.bin"
2021/10/26 20:18:15 DEBUG : NewDir/: >Lookup: node=<nil>, err=no such file or directory
2021/10/26 20:18:15 DEBUG : NewDir/: Lookup: name="NewFile.bin"
2021/10/26 20:18:15 DEBUG : NewDir/: >Lookup: node=<nil>, err=no such file or directory
2021/10/26 20:18:15 DEBUG : NewDir/: Lookup: name="NewFile.bin"
2021/10/26 20:18:15 DEBUG : NewDir/: >Lookup: node=<nil>, err=no such file or directory
2021/10/26 20:18:15 DEBUG : OldDir/: Rename: oldName="OldFile.bin", newName="NewFile.bin", newDir=NewDir/
2021/10/26 20:18:16 ERROR : OldDir/OldFile.bin: Couldn't move: object not found
2021/10/26 20:18:16 ERROR : NewDir/NewFile.bin: File.Rename error: object not found
2021/10/26 20:18:16 ERROR : OldDir/OldFile.bin: Dir.Rename error: object not found
2021/10/26 20:18:16 DEBUG : OldDir/: >Rename: err=no such file or directory
2021/10/26 20:18:16 DEBUG : NewDir/: Lookup: name="NewFile.bin"
2021/10/26 20:18:16 DEBUG : NewDir/: >Lookup: node=<nil>, err=no such file or directory
2021/10/26 20:18:16 DEBUG : NewDir/: Lookup: name="NewFile.bin"
2021/10/26 20:18:16 DEBUG : NewDir/: >Lookup: node=<nil>, err=no such file or directory
2021/10/26 20:21:01 DEBUG : /: Attr: 
2021/10/26 20:21:01 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:21:01 DEBUG : /: ReadDirAll: 
2021/10/26 20:21:01 DEBUG : /: >ReadDirAll: item=4, err=<nil>
2021/10/26 20:21:01 DEBUG : /: Lookup: name="NewDir"
2021/10/26 20:21:01 DEBUG : /: >Lookup: node=NewDir/, err=<nil>
2021/10/26 20:21:01 DEBUG : NewDir/: Attr: 
2021/10/26 20:21:01 DEBUG : NewDir/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:21:01 DEBUG : /: Lookup: name="OldDir"
2021/10/26 20:21:01 DEBUG : /: >Lookup: node=OldDir/, err=<nil>
2021/10/26 20:21:01 DEBUG : OldDir/: Attr: 
2021/10/26 20:21:01 DEBUG : OldDir/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2021/10/26 20:21:01 DEBUG : NewDir/: ReadDirAll: 
2021/10/26 20:21:01 DEBUG : NewDir/: >ReadDirAll: item=2, err=<nil>
2021/10/26 20:21:01 DEBUG : OldDir/: ReadDirAll: 
2021/10/26 20:21:01 DEBUG : OldDir/: >ReadDirAll: item=3, err=<nil>
2021/10/26 20:21:01 DEBUG : OldDir/: Lookup: name="NewFile.bin"
2021/10/26 20:21:01 DEBUG : OldDir/: >Lookup: node=<nil>, err=no such file or directory
2021/10/26 20:22:11 DEBUG : /: Attr: 
2021/10/26 20:22:11 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>

have you contacted them, what did they reply?

as a test, have you tried to rclone move the exact same source file to the exact same dest folder.

No, I didn't contact them. My guess is that it's a problem with rclone's implementation and they don't care about a non-working third-party program. I could open a ticket with them.

Moving with rclone move has some very interesting results.

The usual way:

rclone -vv --log-file rclone-1.log move premiumize:test/OldDir/OldFile.bin premiumize:test/NewDir/NewFile.bin

Nothing on the remote (checking using their webpage) has changed.

Log:

2021/10/26 21:05:29 DEBUG : rclone: Version "v1.56.0" starting with parameters ["rclone" "-vv" "--log-file" "rclone.log" "move" "premiumize:test/OldDir/OldFile.bin" "premiumize:test/NewDir/NewFile.bin"]
2021/10/26 21:05:29 DEBUG : Creating backend with remote "premiumize:test/OldDir/OldFile.bin"
2021/10/26 21:05:29 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2021/10/26 21:05:29 DEBUG : fs cache: adding new entry for parent of "premiumize:test/OldDir/OldFile.bin", "premiumize:test/OldDir"
2021/10/26 21:05:29 DEBUG : Creating backend with remote "premiumize:test/NewDir/NewFile.bin"
2021/10/26 21:05:30 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:05:30 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:05:30 ERROR : Attempt 1/3 failed with 1 errors and: object not found
2021/10/26 21:05:30 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:05:30 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:05:30 ERROR : Attempt 2/3 failed with 1 errors and: object not found
2021/10/26 21:05:30 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:05:30 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:05:30 ERROR : Attempt 3/3 failed with 1 errors and: object not found
2021/10/26 21:05:30 INFO  : 
Transferred:   	          0 / 0 Byte, -, 0 Byte/s, ETA -
Errors:                 1 (retrying may help)
Checks:                 3 / 3, 100%
Elapsed time:         1.3s

2021/10/26 21:05:30 DEBUG : 5 go routines active
2021/10/26 21:05:30 Failed to move: object not found

When moving the file inside the same directory:

rclone -vv --log-file rclone-2.log move premiumize:test/OldDir/OldFile.bin premiumize:test/OldDir/NewFile.bin

This results in the remote change in the following way: test/OldDir/OldFile.bin stays the same file but there is a new empty directory created with the new file name: test/OldDir/NewFile.bin

The log:

2021/10/26 21:06:41 DEBUG : rclone: Version "v1.56.0" starting with parameters ["rclone" "-vv" "--log-file" "rclone-2.log" "move" "premiumize:test/OldDir/OldFile.bin" "premiumize:test/OldDir/NewFile.bin"]
2021/10/26 21:06:41 DEBUG : Creating backend with remote "premiumize:test/OldDir/OldFile.bin"
2021/10/26 21:06:41 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2021/10/26 21:06:42 DEBUG : fs cache: adding new entry for parent of "premiumize:test/OldDir/OldFile.bin", "premiumize:test/OldDir"
2021/10/26 21:06:42 DEBUG : Creating backend with remote "premiumize:test/OldDir/NewFile.bin"
2021/10/26 21:06:43 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:06:43 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:06:43 ERROR : Attempt 1/3 failed with 1 errors and: object not found
2021/10/26 21:06:43 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:06:43 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:06:43 ERROR : Attempt 2/3 failed with 1 errors and: object not found
2021/10/26 21:06:43 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:06:43 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:06:43 ERROR : Attempt 3/3 failed with 1 errors and: object not found
2021/10/26 21:06:43 INFO  : 
Transferred:   	          0 / 0 Byte, -, 0 Byte/s, ETA -
Errors:                 1 (retrying may help)
Checks:                 3 / 3, 100%
Elapsed time:         2.1s

2021/10/26 21:06:43 DEBUG : 5 go routines active
2021/10/26 21:06:43 Failed to move: object not found
2021/10/26 21:12:12 DEBUG : rclone: Version "v1.56.0" starting with parameters ["rclone" "-vv" "--log-file" "rclone-2.log" "move" "premiumize:test/OldDir/OldFile.bin" "premiumize:test/OldDir/NewFile.bin"]
2021/10/26 21:12:12 DEBUG : Creating backend with remote "premiumize:test/OldDir/OldFile.bin"
2021/10/26 21:12:12 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2021/10/26 21:12:13 DEBUG : fs cache: adding new entry for parent of "premiumize:test/OldDir/OldFile.bin", "premiumize:test/OldDir"
2021/10/26 21:12:13 DEBUG : Creating backend with remote "premiumize:test/OldDir/NewFile.bin"
2021/10/26 21:12:13 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:12:13 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:12:13 ERROR : Attempt 1/3 failed with 1 errors and: object not found
2021/10/26 21:12:13 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:12:13 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:12:13 ERROR : Attempt 2/3 failed with 1 errors and: object not found
2021/10/26 21:12:13 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/26 21:12:14 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/26 21:12:14 ERROR : Attempt 3/3 failed with 1 errors and: object not found
2021/10/26 21:12:14 INFO  : 
Transferred:   	          0 / 0 Byte, -, 0 Byte/s, ETA -
Errors:                 1 (retrying may help)
Checks:                 3 / 3, 100%
Elapsed time:         1.5s

2021/10/26 21:12:14 DEBUG : 5 go routines active
2021/10/26 21:12:14 Failed to move: object not found

can you?

  1. rclone copy premiumize:test/OldDir/OldFile.bin premiumize:test/NewDir
  2. rclone delete premiumize:test/OldDir/OldFile.bin

This works as intended. The test/OldDir/OldFile.bin will be copied to test/NewDir/OldFile.bin.
The second command removes the test/OldDir/OldFile.bin.

ok, so we narrowed this down to rclone move.

it is important to know what was the latest version that worked

You're right. Unfortunately, I didn't record the version that worked.
However, I was only using Manjaro's/Arch's repo version (not a git or devel version) and started not that long ago using rclone.
So I guess the working version was 1.55.1.
But when I use that version now, the same error appears.

are you sure that moving files ever worked with premiumize?

  • rclone move?
  • mv over rclone mount?

Yes, I'm sure about mv in rclone mount. I've never tried rclone move.

I was using a script that automatically renames specific files and moves them to a specific directory.

For example, I'll use the webpage's torrent downloader for the newest iso of Manjaro. The file will land in the root directory. The script moves this file to the designated Manjaro folder with a new name.

I was looking through the code and it seems the API is weird about moving and renaming files.

rclone move premiumize:test/OldDir/OldFile.bin premiumize:test/NewDir/NewFile.bin

am i correct, that command is in effect two operations?

  1. move a file
  2. rename a file

if true, can you post the debug log for just moving a file without rename?

Okay, so I have tried a few things:

"Rename" in the same folder:
rclone -vv --log-file mount.log mount premiumize:test mount
mv mount/OldDir/OldFile.bin mount/OldDir/NewFile.bin

This works, the file is correctly renamed.

2021/10/27 09:22:53 DEBUG : rclone: Version "v1.56.0" starting with parameters ["rclone" "-vv" "--log-file" "mount.log" "mount" "premiumize:test" "mount"]
2021/10/27 09:22:53 DEBUG : Creating backend with remote "premiumize:test"
2021/10/27 09:22:53 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2021/10/27 09:22:56 INFO  : premiumize.me root 'test': poll-interval is not supported by this remote
2021/10/27 09:22:56 NOTICE: premiumize.me root 'test': --vfs-cache-mode writes or full is recommended for this remote as it can't stream
2021/10/27 09:22:56 DEBUG : premiumize.me root 'test': Mounting on "mount"
<snip>
2021/10/27 09:23:07 DEBUG : OldDir/: Rename: oldName="OldFile.bin", newName="NewFile.bin", newDir=OldDir/
2021/10/27 09:23:08 INFO  : OldDir/OldFile.bin: Moved (server-side) to: OldDir/NewFile.bin
2021/10/27 09:23:08 DEBUG : OldDir/NewFile.bin: Updating file with OldDir/NewFile.bin 0xc0002df200
2021/10/27 09:23:08 DEBUG : OldDir: Added virtual directory entry vDel: "OldFile.bin"
2021/10/27 09:23:08 DEBUG : OldDir: Added virtual directory entry vAddFile: "NewFile.bin"
2021/10/27 09:23:08 DEBUG : OldDir/: >Rename: err=<nil>
2021/10/27 09:23:08 DEBUG : OldDir/: Invalidating "NewFile.bin"
2021/10/27 09:23:20 DEBUG : OldDir/: Attr: 
2021/10/27 09:23:20 DEBUG : OldDir/: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>

Then I move it to another folder:
mv mount/OldFile/NewFile.bin mount/NewDir/
Which doesn't work:

021/10/27 09:23:25 DEBUG : OldDir/: Rename: oldName="NewFile.bin", newName="NewFile.bin", newDir=NewDir/
2021/10/27 09:23:26 ERROR : OldDir/NewFile.bin: Couldn't move: object not found
2021/10/27 09:23:26 ERROR : NewDir/NewFile.bin: File.Rename error: object not found
2021/10/27 09:23:26 ERROR : OldDir/NewFile.bin: Dir.Rename error: object not found
2021/10/27 09:23:26 DEBUG : OldDir/: >Rename: err=no such file or directory
2021/10/27 09:23:26 DEBUG : NewDir/: Lookup: name="NewFile.bin"
2021/10/27 09:23:26 DEBUG : NewDir/: >Lookup: node=<nil>, err=no such file or directory

With rclone move there is a different result:

rclone -vv --log-file rename.log move premiumize:test/OldDir/OldFile.bin premiumize:test/OldDir/NewFile.bin

It leads to a new and empty directory inside test/OldDir with the name NewFile.bin. The actual file is not touched.

2021/10/27 09:29:28 DEBUG : rclone: Version "v1.56.0" starting with parameters ["rclone" "-vv" "--log-file" "rename.log" "move" "premiumize:test/OldDir/OldFile.bin" "premiumize:test/OldDir/NewFile.bin"]
2021/10/27 09:29:28 DEBUG : Creating backend with remote "premiumize:test/OldDir/OldFile.bin"
2021/10/27 09:29:28 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2021/10/27 09:29:28 DEBUG : fs cache: adding new entry for parent of "premiumize:test/OldDir/OldFile.bin", "premiumize:test/OldDir"
2021/10/27 09:29:28 DEBUG : Creating backend with remote "premiumize:test/OldDir/NewFile.bin"
2021/10/27 09:29:29 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/27 09:29:29 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/27 09:29:29 ERROR : Attempt 1/3 failed with 1 errors and: object not found
2021/10/27 09:29:29 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/27 09:29:29 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/27 09:29:29 ERROR : Attempt 2/3 failed with 1 errors and: object not found
2021/10/27 09:29:29 DEBUG : OldFile.bin: Need to transfer - File not found at Destination
2021/10/27 09:29:29 ERROR : OldFile.bin: Couldn't move: object not found
2021/10/27 09:29:29 ERROR : Attempt 3/3 failed with 1 errors and: object not found
2021/10/27 09:29:29 INFO  : 
Transferred:   	          0 / 0 Byte, -, 0 Byte/s, ETA -
Errors:                 1 (retrying may help)
Checks:                 3 / 3, 100%
Elapsed time:         1.6s

2021/10/27 09:29:29 DEBUG : 5 go routines active
2021/10/27 09:29:29 Failed to move: object not found

I have the same issue with moving a file on a mounted Premiumize folder. I've tried both with the rclone version available in Ubuntu apt packages (I think it was 1.53) and 1.56.2. For me it stopped working sometime between October 5th and 7th according to my logs. I did not change rclone versions or do anything else related to this at that time, so I suspect it is a Premiumize issue. I did contact them, but they just replied that they don't support 3rd party tools. Maybe if more people contact them, they will look into it.

hello and welcome to the forum,

seems to confirm that something changed on their end.

strange that they offer a public api, yet are not willing to support third party tools.

let's see if they reply......

Thanks :slight_smile:

Yes, that is strange. I was thinking someone (maybe me if I find some time) should try to reproduce the problem using just their API.

Nice mail, let's hope they come here and have a look at all the nice info Mithrail provided.

Actually, I did try it out just now. It was pretty easy to use the API directly at SwaggerHub, very cool site.

I tried two ways of moving a file. First I ran a /folder/list, found the ID of a file "/a/test.txt", then tried to use /item/rename to move it to a different folder "../b/test.txt", but that just renamed the file to the string and did not move it.

The second thing I tried was to use the /folder/paste function, and that actually did work. It moved the file. So that was a bit odd. I had a quick look at the rclone source code, and it does look like it is using the paste function to move files between folders (first time looking at Go code, though, so I could be wrong).

Are any of the rclone devs active here in the forum who could try to figure this out? @ncw?

In rclone, the right part of move is a directory!

The command

rclone move premiumize:test/OldDir/OldFile.bin premiumize:test/OldDir/NewFile.bin

will create directory named test/OldDir/NewFile.bin and put OldFile.bin under it so the new file will have path test/OldDir/NewFile.bin/OldFile.bin

https://rclone.org/commands/rclone_move/

The right part of moveto is file if left part is file.
The command

rclone moveto premiumize:test/OldDir/OldFile.bin premiumize:test/OldDir/NewFile.bin`

will rename the file OldFile.bin to NewFile.bin inside directory test/OldDir.

Bottomline:
We don't have a replica of traditional Unix mv yet.
move and moveto have slightly different semantics!

@albertony

I think we should add a caveat emptor in

https://rclone.org/commands/rclone_move/

The caveat note should say:

Please note that right part of move is always a directory. The command

move path1/name1 path1/name2

will not rename file as you might have expected!
It will create new directory name2 and put file name1 under it so in result you will get the file path1/name2/name1!

If you want to rename a file in directory you should use moveto (link to moveto) like

moveto path1/name1 path1/name2

On the API page for move we should add a shorter note:

Note that dst will always point to a directory.
See (link to caveat in the move command)

hi,

based on mithrial and ingep, it seemed both were doing things they have always done and all of a sudden stopped working.

also, i did try moveto and could not get it to work with premiumize
am i confused about the semantics or confused about something else?

DEBUG : Setting --config "C:\\data\\rclone\\scripts\\rclone.conf" from environment variable RCLONE_CONFIG="C:\\data\\rclone\\scripts\\rclone.conf"
DEBUG : rclone: Version "v1.56.2" starting with parameters ["c:\\data\\rclone\\scripts\\rclone.exe" "moveto" "premiumize:test/OldDir/OldFile.bin" "premiumize:test/NewDir/NewFile.bin" "-vv" "--retries=1" "--low-level-retries=1"]
DEBUG : Creating backend with remote "premiumize:test/OldDir/OldFile.bin"
DEBUG : Using config file from "C:\\data\\rclone\\scripts\\rclone.conf"
DEBUG : Creating backend with remote "premiumize:test/NewDir/NewFile.bin"
DEBUG : premiumize.me root 'test/NewDir/NewFile.bin': Using server-side directory move
ERROR : premiumize.me root 'test/NewDir/NewFile.bin': Server side directory move failed: directory not found
ERROR : Attempt 1/1 failed with 1 errors and: directory not found

whereas for local

rclone moveto D:\files\test\olddir\OldFile.bin D:\files\test\newdir\NewFile.bin -vv 
DEBUG : Setting --config "C:\\data\\rclone\\scripts\\rclone.conf" from environment variable RCLONE_CONFIG="C:\\data\\rclone\\scripts\\rclone.conf"
DEBUG : rclone: Version "v1.56.2" starting with parameters ["c:\\data\\rclone\\scripts\\rclone.exe" "moveto" "D:\\files\\test\\olddir\\OldFile.bin" "D:\\files\\test\\newdir\\NewFile.bin" "-vv"]
DEBUG : Creating backend with remote "D:\\files\\test\\olddir\\OldFile.bin"
DEBUG : Using config file from "C:\\data\\rclone\\scripts\\rclone.conf"
DEBUG : fs cache: adding new entry for parent of "D:\\files\\test\\olddir\\OldFile.bin", "//?/D:/files/test/olddir"
DEBUG : Creating backend with remote "D:/files/test/newdir/"
DEBUG : fs cache: renaming cache item "D:/files/test/newdir/" to be canonical "//?/D:/files/test/newdir/"
DEBUG : OldFile.bin: Need to transfer - File not found at Destination
INFO  : OldFile.bin: Moved (server-side) to: NewFile.bin

is rclone getting confused, should rclone know that
premiumize:test/NewDir/NewFile.bin is a file, not a directory?
Creating backend with remote "premiumize:test/NewDir/NewFile.bin"

for local, rclone is not confused
Creating backend with remote "D:/files/test/newdir/"

for https://rclone.org/overview/, rclone supports move for premiumize.me.
does the documentation need to be tweaked?

Looks like a bug sneaked in the premiumize code.
Can't say for sure as daily stability test with premiumize has been recently dormant due to CI account missing renewal payment. Will recheck as soon as that get sorted.