What is the problem you are having with rclone?
Unable to exclude folder from a rc job. Have read forums for hours but none of the solutions appear to work.
I want to sync/copy the entire structure of the /data folder except the rClone folder (which is /data/rClone).
What is your rclone version (output from rclone version
)
1.57
Which cloud storage system are you using? (eg Google Drive)
Google Drive
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
rclone rc sync/copy srcFs="freenas:/data" exclude="rClone/**" dstFs="GoogleDrive_NAS_crypt:NAS" --rc-addr=192.168.7.25:5572 --rc-user=user --rc-pass=rclone _async=true -vv --checksum --transfers=1 --checkers=4 --contimeout=60s --timeout=300s --retries=3 --low-level-retries=10 --stats=1s --stats-file-name-length=0 --fast-list
asdffdsa
(jojothehumanmonkey)
December 30, 2021, 1:44pm
2
fakeuseraccount:
exclude="rClone/**"
perhaps that should be
--exclude="rClone/**"
can be easier to test filter using rclone ls
, get that working, then try more complex commands.
and if that does not work, post a debug log.
Thanks, I have tried both with -- and without. Doesn't make a difference.
Seems _filter
is the solution. No experience with it myself, but see this:
Thanks, still not having any luck with this:
rclone rc sync/copy srcFs="freenas:/data" _filter='{"ExcludeRule":"rClone/**"}' dstFs="GoogleDrive_NAS_crypt:NAS" --rc-addr=192.168.7.25:5572 --rc-user=user --rc-pass=rclone _async=true -vv --checksum --transfers=1 --checkers=4 --contimeout=60s --timeout=300s --retries=3 --low-level-retries=10 --stats=1s --stats-file-name-length=0 --fast-list
I receive the following:
"error": "key \"_filter\": invalid character '\\'' looking for beginning of value",
"input": {
"_async": "true",
"_filter": "'{ExcludeRule:rClone/**}'",
"dstFs": "GoogleDrive_NAS_crypt:NAS",
"srcFs": "freenas:/data"
},
"path": "sync/copy",
"status": 400
type or paste code here
Ole
(Ole Frost)
December 30, 2021, 5:47pm
6
I also have limited experience with rc, but perhaps one of these works:
"{ExcludeRule:rClone/**}"
"{ExcludeRule:'rClone/**'}"
I remember something about using --loopback to test an rc command for syntax errors. Did you try that?
Testing rclone rc operations/list ...
, I get filtering to work with something like this:
_filter={\"ExcludeRule\":[\"*.txt\"]}
That is:
The value of _filter
is json string.
Key and value within the json must be properly quoted, escaped as necessary. The exact method may depend on your OS/shell.
The rule value is a list, i.e. in [
]
brackets
Which OS and shell are you using?
I ran it from powershell in win10
Then something like this should work (wrapping everything in single quotes to avoid PowerShell mangle with it, and then backslash-escape double quotes in the json value for the double quotes not to be "eaten" before rclone rc receives them):
'_filter={\"ExcludeRule\":[\"*.txt\"]}'
Transferred to your command (untested):
rclone rc sync/copy srcFs="freenas:/data" dstFs="GoogleDrive_NAS_crypt:NAS" --rc-addr=192.168.7.25:5572 --rc-user=user --rc-pass=rclone _async=true -vv --checksum --transfers=1 --checkers=4 --contimeout=60s --timeout=300s --retries=3 --low-level-retries=10 --stats=1s --stats-file-name-length=0 --fast-list '_filter={\"ExcludeRule\":[\"rClone/**\"]}'
Thanks so much, I can confirm that this works. I hope this helps others as the syntax in the documentation is confusing for something that I assume is quite a common request (albeit perhaps I'm just a noob )
system
(system)
Closed
January 3, 2022, 11:29am
12
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.