Not working modtime (flag –ignore-size) on mega

What is the problem you are having with rclone?

Instead of checking modtime rclone checks by size despite flag "--ignore-size" (mega supports modtime read) and says that files wasnt changed and even didnt update modtime

Run the command 'rclone version' and share the full output of the command.

rclone v1.73.4

  • os/version: unknown
  • os/kernel: 6.1.118-android14-11-o-g778e4490e346 (aarch64)
  • os/type: android
  • os/arch: arm64 (ARMv8 compatible)
  • go/version: go1.25.9
  • go/linking: dynamic
  • go/tags: none

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

Mega

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

touch "$f"
rclone copy -vv --ignore-size -n "$f" M1:

The rclone config contents with secrets removed.

[M1]
type = mega
user = w@live.**
pass = ***

A log from the command with the -vv flag

2026/04/15 13:26:12 DEBUG : Setting --config "/storage/emulated/0/Скрипты/rclone.conf" from environment variable RCLONE_CONFIG="/storage/emulated/0/Скрипты/rclone.conf" 2026/04/15 13:26:12 DEBUG : rclone: Version "v1.68.1-termux" starting with parameters ["rclone" "copy" "-vv" "--ignore-size" "-n" "/storage/self/primary/Download/1.txt" "M1:"]
2026/04/15 13:26:12 DEBUG : Creating backend with remote "/storage/self/primary/Download/1.txt"
2026/04/15 13:26:12 DEBUG : Using config file from "/storage/emulated/0/Скрипты/rclone.conf"
2026/04/15 13:26:12 DEBUG : fs cache: adding new entry for parent of "/storage/self/primary/Download/1.txt", "/storage/self/primary/Download"
2026/04/15 13:26:12 DEBUG : Creating backend with remote "M1:"
2026/04/15 13:26:14 DEBUG : 1.txt: Sizes identical
2026/04/15 13:26:14 DEBUG : 1.txt: Unchanged skipping
2026/04/15 13:26:14 NOTICE:
Transferred: 0 B / 0 B, -, 0 B/s, ETA -
Elapsed time: 1.0s

The same with linux rclone build


f="/home/ivan/Downloads/1.txt"
touch "$f"
/home/ivan/Downloads/rclone-v1.73.5-linux-amd64/rclone version
/home/ivan/Downloads/rclone-v1.73.5-linux-amd64/rclone copy -vv --ignore-size -n "$f" M1:
rclone v1.73.5
- os/version: ubuntu 23.10 (64 bit)
- os/kernel: 6.5.0-27-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.25.9
- go/linking: static
- go/tags: none
2026/04/29 15:05:09 DEBUG : Setting --config "/F/Скрипты/rclone.conf" from environment variable RCLONE_CONFIG="/F/Скрипты/rclone.conf"
2026/04/29 15:05:09 DEBUG : rclone: Version "v1.73.5" starting with parameters ["/home/ivan/Downloads/rclone-v1.73.5-linux-amd64/rclone" "copy" "-vv" "--ignore-size" "-n" "/home/ivan/Downloads/1.txt" "M1:"]
2026/04/29 15:05:09 DEBUG : Creating backend with remote "/home/ivan/Downloads/1.txt"
2026/04/29 15:05:09 DEBUG : Using config file from "/F/Скрипты/rclone.conf"
2026/04/29 15:05:09 DEBUG : fs cache: renaming child cache item "/home/ivan/Downloads/1.txt" to be canonical for parent "/home/ivan/Downloads"
2026/04/29 15:05:09 DEBUG : Creating backend with remote "M1:"
2026/04/29 15:05:09 DEBUG : mega root '': Using username and password to initialize the Mega API
2026/04/29 15:05:10 DEBUG : Saving config "session_id" in section "M1" of the config file
2026/04/29 15:05:10 DEBUG : Keeping previous permissions for config file: -rwxrwxrwx
2026/04/29 15:05:10 DEBUG : Saving config "master_key" in section "M1" of the config file
2026/04/29 15:05:10 DEBUG : Keeping previous permissions for config file: -rwxrwxrwx
2026/04/29 15:05:10 DEBUG : 1.txt: Sizes identical
2026/04/29 15:05:10 DEBUG : 1.txt: Unchanged skipping
2026/04/29 15:05:10 NOTICE: 
Transferred:              0 B / 0 B, -, 0 B/s, ETA -
Elapsed time:         0.0s
2026/04/29 15:05:10 DEBUG : 9 go routines active

Mega does not support modification times or hashes yet


please post rclone lsl -vv --dump=headers for just that one singie file.

rclone lsl M1:/1.txt
    61870 2026-04-29 15:00:40.000000000 1.txt
rclone lsl "$f"
    61870 2026-04-29 15:05:09.810499092 1.txt

So the modtime is present.
Also we can see this here in table of remotes
Screenshot_20260429_150800

~ $ /home/ivan/Downloads/rclone-v1.73.5-linux-amd64/rclone lsl -vv --dump=headers M1:/1.txt

2026/04/29 15:19:19 DEBUG : Setting --config "/F/Скрипты/rclone.conf" from environment variable RCLONE_CONFIG="/F/Скрипты/rclone.conf"
2026/04/29 15:19:19 NOTICE: Automatically setting -vv as --dump is enabled
2026/04/29 15:19:19 DEBUG : rclone: Version "v1.73.5" starting with parameters ["/home/ivan/Downloads/rclone-v1.73.5-linux-amd64/rclone" "lsl" "-vv" "--dump=headers" "M1:/1.txt"]
2026/04/29 15:19:19 DEBUG : Creating backend with remote "M1:/1.txt"
2026/04/29 15:19:19 DEBUG : Using config file from "/F/Скрипты/rclone.conf"
2026/04/29 15:19:19 DEBUG : You have specified to dump information. Please be noted that the Accept-Encoding as shown may not be correct in the request and the response may not show Content-Encoding if the go standard libraries auto gzip encoding was in effect. In this case the body of the request will be gunzipped before showing it.
2026/04/29 15:19:19 DEBUG : mega root '1.txt': Using previously stored session ID and master key to initialize the Mega API
2026/04/29 15:19:19 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/04/29 15:19:19 DEBUG : HTTP REQUEST (req 0xc000136c80)
2026/04/29 15:19:19 DEBUG : POST /cs?id=3672865624&sid=na9-3y5F8k3feO5x96qFnGd5SXNDQnRxNlhNgG--om57bFxJjSiHbsTcjg HTTP/1.1
Host: g.api.mega.co.nz
User-Agent: rclone/v1.73.5
Content-Length: 17
Content-Type: application/json
Accept-Encoding: gzip

2026/04/29 15:19:19 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/04/29 15:19:20 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/04/29 15:19:20 DEBUG : HTTP RESPONSE (req 0xc000136c80)
2026/04/29 15:19:20 DEBUG : HTTP/1.1 200 OK
Access-Control-Allow-Headers: Content-Type, X-Hashcash, MEGA-Chrome-Antileak
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Original-Content-Length, X-Hashcash
Access-Control-Max-Age: 86400
Cache-Control: no-store
Connection: keep-alive
Content-Type: application/json
Original-Content-Length: 27268

2026/04/29 15:19:20 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/04/29 15:19:20 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/04/29 15:19:20 DEBUG : HTTP REQUEST (req 0xc000f4e000)
2026/04/29 15:19:20 DEBUG : POST /sc?sn=nuVGrRwDVqM&sid=na9-3y5F8k3feO5x96qFnGd5SXNDQnRxNlhNgG--om57bFxJjSiHbsTcjg HTTP/1.1
Host: g.api.mega.co.nz
User-Agent: rclone/v1.73.5
Content-Length: 0
Content-Type: application/xml
Accept-Encoding: gzip

2026/04/29 15:19:20 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/04/29 15:19:20 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/04/29 15:19:20 DEBUG : HTTP RESPONSE (req 0xc000f4e000)
2026/04/29 15:19:20 DEBUG : HTTP/1.1 200 OK
Content-Length: 107
Access-Control-Allow-Headers: Content-Type, X-Hashcash, MEGA-Chrome-Antileak
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Original-Content-Length, X-Hashcash
Access-Control-Max-Age: 86400
Cache-Control: no-store
Connection: keep-alive
Content-Type: application/json
Original-Content-Length: 107

2026/04/29 15:19:20 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/04/29 15:19:20 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/04/29 15:19:20 DEBUG : HTTP REQUEST (req 0xc000cae280)
2026/04/29 15:19:20 DEBUG : POST /sc?sn=0q5A4Nqqtjs&sid=na9-3y5F8k3feO5x96qFnGd5SXNDQnRxNlhNgG--om57bFxJjSiHbsTcjg HTTP/1.1
Host: g.api.mega.co.nz
User-Agent: rclone/v1.73.5
Content-Length: 0
Content-Type: application/xml
Accept-Encoding: gzip

2026/04/29 15:19:20 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/04/29 15:19:20 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/04/29 15:19:20 DEBUG : HTTP RESPONSE (req 0xc000cae280)
2026/04/29 15:19:20 DEBUG : HTTP/1.1 200 OK
Content-Length: 59
Access-Control-Allow-Headers: Content-Type, X-Hashcash, MEGA-Chrome-Antileak
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Original-Content-Length, X-Hashcash
Access-Control-Max-Age: 86400
Cache-Control: no-store
Connection: keep-alive
Content-Type: application/json
Original-Content-Length: 59

2026/04/29 15:19:20 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/04/29 15:19:20 DEBUG : fs cache: renaming child cache item "M1:/1.txt" to be canonical for parent "M1:"
2026/04/29 15:19:20 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/04/29 15:19:20 DEBUG : HTTP REQUEST (req 0xc000bd0000)
2026/04/29 15:19:20 DEBUG : Музыка: Excluded
2026/04/29 15:19:20 DEBUG : GET /-uEsfW6ehfOLf4sl_9Sf-y1kj3k HTTP/1.1
Host: w.api.mega.co.nz
User-Agent: rclone/v1.73.5
Accept-Encoding: gzip

2026/04/29 15:19:20 DEBUG : 2.txt: Excluded (FilesFrom Filter)
2026/04/29 15:19:20 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/04/29 15:19:20 DEBUG : 2.txt: Excluded
    61870 2026-04-29 15:00:40.000000000 1.txt
2026/04/29 15:19:20 DEBUG : 8 go routines active

If rclone can't write the modtime (which it can't for mega) then it can't use it for syncing.

If you want to use read only modtimes then you need the --update flag - check the docs I've linked for limitations.

Thanks, i have read docs and tested.
It could be good solution but "time checked will be the uploaded time" is bad as real file modtime cant be saved, as i noticed that it writes upload time as file modtime

I think the best logic solution for RO modtime is:
read and compare modtime and
-if it matches then nothing to do
-if it differs then reupload file to save its all metadata (much transfers than --update but all preserved)

Rclone does exactly that if it can upload the new modtime with new files. I don't think it can do that with mega though, the modtime is always the time uploaded.