Issue with excludes

What is the problem you are having with rclone?

I am trying to exclude any ‘@eaDir’ directories from an rclone sync command.

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

rclone v1.71.1
- os/version: debian 12.6 (64 bit)
- os/kernel: 6.1.0-22-amd64 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.25.1
- go/linking: static
- go/tags: none

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

OneDrive Personal

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

rclone sync --order-by name --check-first --delete-before --fast-list --exclude-from /var/spool/music/scripts/rclone-exclude --delete-excluded -vv /var/spool/music/tagged/iplayer/ andy-onedrive:/MusicSync/iplayer/

rclone-exclude contains:

**/@eaDir/*
**/.simple-library-views*

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

[andy-onedrive]
type = onedrive
token = XXX
drive_id = XXX
drive_type = personal

A log from the command that you were trying to run with the -vv flag

2025/10/03 17:29:21 DEBUG : rclone: Version "v1.71.1" starting with parameters ["rclone" "sync" "--order-by" "name" "--check-first" "--delete-before" "--fast-list" "--exclude-from" "/var/spool/music/scripts/rclone-exclude" "--delete-excluded" "-vv" "/var/spool/music/tagged/iplayer/" "andy-onedrive:/MusicSync/iplayer/"]
2025/10/03 17:29:21 DEBUG : Creating backend with remote "/var/spool/music/tagged/iplayer/"
2025/10/03 17:29:21 DEBUG : Using config file from "/home/andy/.rclone.conf"
2025/10/03 17:29:21 DEBUG : fs cache: renaming cache item "/var/spool/music/tagged/iplayer/" to be canonical "/var/spool/music/tagged/iplayer"
2025/10/03 17:29:21 DEBUG : Creating backend with remote "andy-onedrive:/MusicSync/iplayer/"
2025/10/03 17:29:21 DEBUG : fs cache: renaming cache item "andy-onedrive:/MusicSync/iplayer/" to be canonical "andy-onedrive:MusicSync/iplayer"
2025/10/03 17:29:21 INFO  : OneDrive root 'MusicSync/iplayer': Running all checks before starting transfers
2025/10/03 17:29:21 DEBUG : Waiting for deletions to finish
2025/10/03 17:29:22 DEBUG : @eaDir: Directory modification time the same (differ by -840.674088ms, within tolerance 1s)
2025/10/03 17:29:22 DEBUG : Added delayed dir = "@eaDir", newDst=@eaDir
2025/10/03 17:29:22 DEBUG : Dydd Miwsig Cymru: Directory modification time the same (differ by -86.243226ms, within tolerance 1s)
2025/10/03 17:29:22 DEBUG : Added delayed dir = "Dydd Miwsig Cymru", newDst=Dydd Miwsig Cymru
2025/10/03 17:29:22 DEBUG : The Story of Miwsig: Directory modification time the same (differ by -673.251348ms, within tolerance 1s)
2025/10/03 17:29:22 DEBUG : Added delayed dir = "The Story of Miwsig", newDst=The Story of Miwsig
2025/10/03 17:29:22 DEBUG : The Story of Miwsig/@eaDir: Excluded
2025/10/03 17:29:22 DEBUG : Dydd Miwsig Cymru/@eaDir: Excluded
2025/10/03 17:29:23 DEBUG : @eaDir/1975_-_The_Year_of_Queen_-__b06nnj8w_default.m4a: Directory modification time the same (differ by -374.708904ms, within tolerance 1s)
2025/10/03 17:29:23 DEBUG : Added delayed dir = "@eaDir/1975_-_The_Year_of_Queen_-__b06nnj8w_default.m4a", newDst=@eaDir/1975_-_The_Year_of_Queen_-__b06nnj8w_default.m4a
2025/10/03 17:29:23 DEBUG : @eaDir/6_Music_Classic_Concert_-_The_Divine_Comedy_b06644rv_default.m4a: Directory modification time the same (differ by -101.720676ms, within tolerance 1s)
2025/10/03 17:29:23 DEBUG : Added delayed dir = "@eaDir/6_Music_Classic_Concert_-_The_Divine_Comedy_b06644rv_default.m4a", newDst=@eaDir/6_Music_Classic_Concert_-_The_Divine_Comedy_b06644rv_default.m4a
2025/10/03 17:29:23 DEBUG : @eaDir/Artist_Icons_Collection_The_Killers_-_The_Electronic_Killers_p0g6vk8f_original.mp3: Directory modification time the same (differ by -771.684147ms, within tolerance 1s)
[snip]

Full log is available here:

welcome to the forum,

cat rclone-exclude
/@eaDir/**
DEBUG : rclone: Version "v1.71.0" starting with parameters ["/home/asdffdsa/bin/rclone" "ls" "/home/asdffdsa/test" "-vv"]
DEBUG : Creating backend with remote "/home/asdffdsa/test"
DEBUG : Using RCLONE_CONFIG_PASS password.
DEBUG : Using config file from "/home/asdffdsa/.config/rclone/rclone.conf"
        0 @eaDir/file.ext

DEBUG : rclone: Version "v1.71.0" starting with parameters ["/home/asdffdsa/bin/rclone" "ls" "/home/asdffdsa/test" "--exclude-from=rclone-exclude" "-vv"]
DEBUG : Creating backend with remote "/home/asdffdsa/test"
DEBUG : Using RCLONE_CONFIG_PASS password.
DEBUG : Using config file from "/home/asdffdsa/.config/rclone/rclone.conf"
DEBUG : @eaDir: Excluded

That’s odd. After looking a bit more closly, it seemed to be excluding ‘deep’ directories called @eaDir, but not the top level one.

I’ve changed the excludes file to this:

/@eaDir/**
**/@eaDir/**
**/.simple-library-views*

and that seems to have done the trick. Any ideas why I was seeing different behaviour to you?