Operations and filters
Weik.io 2026.2The operation is an rclone command such as copy, move or sync, filters choose the files with patterns, and retries say how often rclone tries within one run. Product page · Video
Watch: Shape what moves, 3:41
The video filters what moves and chooses between copy, move and sync.
On this page
Three fields shape what a run does: operation says what happens to the files, filters says which files, and retries with retriesSleep say how hard rclone tries before the run counts as failed. Anything else rclone accepts goes into flags.
Operations#
operation is an rclone command. These three cover most transfers:
| Operation | What happens |
|---|---|
copy |
Copies new and changed files to the destination and leaves the source as it was. |
move |
Moves the files: once a file is at the destination, rclone deletes it from the source. |
sync |
Makes the destination the same as the source, which deletes files from the destination that the source doesn’t have. |
Most other rclone commands are accepted too. A team runs check after a nightly sync to compare the two ends, or bisync to keep two shares in step both ways. The apply checks the name against the commands of the rclone the agent carries, rclone 1.75.1 in Weik.io 2026.2, and refuses a name that isn’t a command, or a command such as mount or serve that never ends by itself, with the field named.
Choose move when the source is a supplier’s outbox that should be empty after the run, copy when the source must keep its files, and sync when the destination must mirror the source exactly.
Filters#
filters is a list of patterns, and only the files that match move:
spec:
operation: move
filters: ["*.pdf", "*.xml"]Each plain pattern becomes an rclone include rule, and one exclude rule for everything else follows them. The transfer above runs rclone with:
--filter "+ *.pdf" --filter "+ *.xml" --filter "- **"An entry that starts with + or - is already an rclone filter rule and passes through as written, so rclone’s whole filter language is there when you need it:
filters: ["- archive/**", "+ invoices/*.pdf"]Flags#
Anything else rclone accepts goes into flags, as written. The flags come before the filter rules on rclone’s command line:
spec:
operation: copy
flags: ["--max-age", "24h", "--transfers", "8"]
filters: ["*.csv"]Retries#
retries is how many times rclone tries the work within one run, from 0 to 10, and retriesSleep is how long it waits between tries. Without them rclone tries three times with no wait between.
spec:
retries: 5
retriesSleep: 30sA run that still ends with errors is a failed run. It counts as a failed message in weikio status, weikio metrics and the admin UI, and it raises a problem that points to the run and gives the weikio logs command that shows what rclone wrote. Runs and transferred files shows a failed run.
The whole transfer#
apiVersion: weik.io/v1
kind: mft
metadata: { name: supplier-invoices, project: finance }
spec:
schedule: "0 0 5 * * ?"
source: { remote: supplier-ftp, path: /outgoing }
destination: { remote: invoice-archive, path: invoices/incoming }
operation: move
filters: ["*.pdf"]
retries: 5
retriesSleep: 30sApplying a changed transfer builds its next version. Deploy that version to devtest and watch a run before you promote it to production.