Rclone Delete Modes
Delete timing is the critical safety switch in rclone sync. Choosing the right mode reduces accidental data loss and makes behavior predictable under failure conditions.
Modes
| Mode | Behavior | Typical use |
|---|---|---|
--delete-before | Delete extras before upload | Rare pipelines with strict destination shape |
--delete-during | Delete while transferring | Runtime-sensitive large jobs |
--delete-after | Delete after transfer phase | Safer default for most production jobs |
Baseline
rclone sync /srv/site remote:site/current --delete-after --dry-run -vv
Examples with Output
1. Example 1
Input command:
rclone sync /srv/site remote:site/current --delete-before --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-before)
Would transfer 46 files
2. Example 2
Input command:
rclone sync /srv/site remote:site/current --delete-during --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-during)
Would transfer 52 files
3. Example 3
Input command:
rclone sync /srv/site remote:site/current --delete-after --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after)
Would transfer 58 files
4. Example 4
Input command:
rclone sync /srv/site remote:site/current --delete-after --backup-dir remote:site/rollback/$(date +%F-%H%M) --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --backup-dir remote:site/rollback/$(date +%F-%H%M))
Would transfer 64 files
5. Example 5
Input command:
rclone sync /srv/site remote:site/current --delete-during --check-first --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-during --check-first)
Would transfer 70 files
6. Example 6
Input command:
rclone sync /srv/site remote:site/current --delete-after --size-only --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --size-only)
Would transfer 76 files
7. Example 7
Input command:
rclone sync /srv/site remote:site/current --delete-after --checksum --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --checksum)
Would transfer 82 files
8. Example 8
Input command:
rclone sync /srv/site remote:site/current --delete-after --exclude "**/*.tmp" --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --exclude "**/*.tmp")
Would transfer 88 files
9. Example 9
Input command:
rclone sync /srv/site remote:site/current --delete-after --include "**/*.php" --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --include "**/*.php")
Would transfer 94 files
10. Example 10
Input command:
rclone sync /srv/site remote:site/current --delete-before --track-renames --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-before --track-renames)
Would transfer 100 files
11. Example 11
Input command:
rclone sync /srv/site remote:site/current --delete-after --log-level INFO --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --log-level INFO)
Would transfer 106 files
12. Example 12
Input command:
rclone sync /srv/site remote:site/current --delete-after --stats 30s --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --stats 30s)
Would transfer 112 files
13. Example 13
Input command:
rclone sync /srv/site remote:site/current --delete-during --transfers 8 --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-during --transfers 8)
Would transfer 118 files
14. Example 14
Input command:
rclone sync /srv/site remote:site/current --delete-after --transfers 4 --checkers 16 --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --transfers 4 --checkers 16)
Would transfer 124 files
15. Example 15
Input command:
rclone sync /srv/site remote:site/current --delete-after --backup-dir remote:site/rollback/latest --suffix .bak --dry-run -vv
Expected output:
NOTICE: safety profile applied (delete-after --backup-dir remote:site/rollback/latest --suffix .bak)
Would transfer 130 files