For testing, I'm just creating files using Linux command:
date > sourcefile
On destination host:
cat sourcefile
Sun May 24 17:22:01 AEST 2020
--immutable demo on source host:
cat sourcefile
Mon May 25 11:46:16 AEST 2020
rclone move --immutable -vv sourcefile duobase:test-bucket-1
2020/05/25 11:49:53 DEBUG : rclone: Version "v1.51.0" starting with parameters ["rclone" "move" "--immutable" "-vv" "sourcefile" "duobase:test-bucket-1"]
2020/05/25 11:49:53 DEBUG : Using config file from "/root/.rclone.conf"
2020/05/25 11:49:53 DEBUG : sourcefile: Modification times differ by -18h24m14.919741001s: 2020-05-25 11:46:16.204163086 +1000 AEST, 2020-05-24 17:22:01.284422085 +1000 AEST
2020/05/25 11:49:53 DEBUG : sourcefile: MD5 = 1e5c7d0711fd82a5b4b98b153023b8f4 (Local file system at /tmp/rclone-push)
2020/05/25 11:49:53 DEBUG : sourcefile: MD5 = 720463eaab00d1fdd011edb3001ee954 (S3 bucket test-bucket-1)
2020/05/25 11:49:53 DEBUG : sourcefile: MD5 differ
2020/05/25 11:49:53 DEBUG : sourcefile: MD5 = 1e5c7d0711fd82a5b4b98b153023b8f4 OK
2020/05/25 11:49:53 INFO : sourcefile: Copied (replaced existing)
2020/05/25 11:49:53 INFO : sourcefile: Deleted
2020/05/25 11:49:53 INFO :
Transferred: 30 / 30 Bytes, 100%, 426 Bytes/s, ETA 0s
Checks: 2 / 2, 100%
Deleted: 1
Transferred: 1 / 1, 100%
Elapsed time: 0.0s
2020/05/25 11:49:53 DEBUG : 5 go routines active
2020/05/25 11:49:53 DEBUG : rclone: Version "v1.51.0" finishing with parameters ["rclone" "move" "--immutable" "-vv" "sourcefile" "duobase:test-bucket-1"]
...the result of above is that "sourcefile" overwrites the destination file of the same name, even though content + modtime are different (see differing MD5 in debug log)
--ignore-existing file demo on source host:
date > sourcefile
cat sourcefile
Mon May 25 11:52:33 AEST 2020
rclone move --ignore-existing -vv sourcefile duobase:test-bucket-1
2020/05/25 11:53:27 DEBUG : rclone: Version "v1.51.0" starting with parameters ["rclone" "move" "--ignore-existing" "-vv" "sourcefile" "duobase:test-bucket-1"]
2020/05/25 11:53:27 DEBUG : Using config file from "/root/.rclone.conf"
2020/05/25 11:53:27 DEBUG : sourcefile: Destination exists, skipping
2020/05/25 11:53:27 INFO : sourcefile: Deleted
2020/05/25 11:53:27 INFO :
Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA -
Checks: 2 / 2, 100%
Deleted: 1
Elapsed time: 0.0s
2020/05/25 11:53:27 DEBUG : 5 go routines active
2020/05/25 11:53:27 DEBUG : rclone: Version "v1.51.0" finishing with parameters ["rclone" "move" "--ignore-existing" "-vv" "sourcefile" "duobase:test-bucket-1"]
...result is that my local unique "sourcefile" is deleted. Nothing changes on destination server, it keeps its old file.
--ignore-existing folder demo on source host:
date > sourcefile
cat sourcefile
Mon May 25 12:05:00 AEST 2020
rclone move --ignore-existing -vv /tmp/rclone-push/ duobase:test-bucket-1
2020/05/25 12:06:04 DEBUG : rclone: Version "v1.51.0" starting with parameters ["rclone" "move" "--ignore-existing" "-vv" "/tmp/rclone-push/" "duobase:test-bucket-1"]
2020/05/25 12:06:04 DEBUG : Using config file from "/root/.rclone.conf"
2020/05/25 12:06:05 DEBUG : sourcefile: Destination exists, skipping
2020/05/25 12:06:05 INFO : S3 bucket test-bucket-1: Waiting for checks to finish
2020/05/25 12:06:05 INFO : sourcefile: Deleted
2020/05/25 12:06:05 INFO : S3 bucket test-bucket-1: Waiting for transfers to finish
2020/05/25 12:06:05 INFO :
Transferred: 0 / 0 Bytes, -, 0 Bytes/s, ETA -
Checks: 2 / 2, 100%
Deleted: 1
Elapsed time: 0.0s
2020/05/25 12:06:05 DEBUG : 5 go routines active
2020/05/25 12:06:05 DEBUG : rclone: Version "v1.51.0" finishing with parameters ["rclone" "move" "--ignore-existing" "-vv" "/tmp/rclone-push/" "duobase:test-bucket-1"]
...result is same as with a single file... my local unique "sourcefile" is deleted. Nothing changes on destination server, it keeps its old file.