github.com/artpar/rclone@v1.67.3/docs/content/commands/rclone_bisync.md (about) 1 --- 2 title: "rclone bisync" 3 description: "Perform bidirectional synchronization between two paths." 4 slug: rclone_bisync 5 url: /commands/rclone_bisync/ 6 groups: Filter,Copy,Important 7 status: Beta 8 versionIntroduced: v1.58 9 # autogenerated - DO NOT EDIT, instead edit the source code in cmd/bisync/ and as part of making a release run "make commanddocs" 10 --- 11 # rclone bisync 12 13 Perform bidirectional synchronization between two paths. 14 15 ## Synopsis 16 17 Perform bidirectional synchronization between two paths. 18 19 [Bisync](https://rclone.org/bisync/) provides a 20 bidirectional cloud sync solution in rclone. 21 It retains the Path1 and Path2 filesystem listings from the prior run. 22 On each successive run it will: 23 - list files on Path1 and Path2, and check for changes on each side. 24 Changes include `New`, `Newer`, `Older`, and `Deleted` files. 25 - Propagate changes on Path1 to Path2, and vice-versa. 26 27 Bisync is **in beta** and is considered an **advanced command**, so use with care. 28 Make sure you have read and understood the entire [manual](https://rclone.org/bisync) 29 (especially the [Limitations](https://rclone.org/bisync/#limitations) section) before using, 30 or data loss can result. Questions can be asked in the [Rclone Forum](https://forum.rclone.org/). 31 32 See [full bisync description](https://rclone.org/bisync/) for details. 33 34 35 ``` 36 rclone bisync remote1:path1 remote2:path2 [flags] 37 ``` 38 39 ## Options 40 41 ``` 42 --backup-dir1 string --backup-dir for Path1. Must be a non-overlapping path on the same remote. 43 --backup-dir2 string --backup-dir for Path2. Must be a non-overlapping path on the same remote. 44 --check-access Ensure expected RCLONE_TEST files are found on both Path1 and Path2 filesystems, else abort. 45 --check-filename string Filename for --check-access (default: RCLONE_TEST) 46 --check-sync string Controls comparison of final listings: true|false|only (default: true) (default "true") 47 --compare string Comma-separated list of bisync-specific compare options ex. 'size,modtime,checksum' (default: 'size,modtime') 48 --conflict-loser ConflictLoserAction Action to take on the loser of a sync conflict (when there is a winner) or on both files (when there is no winner): , num, pathname, delete (default: num) 49 --conflict-resolve string Automatically resolve conflicts by preferring the version that is: none, path1, path2, newer, older, larger, smaller (default: none) (default "none") 50 --conflict-suffix string Suffix to use when renaming a --conflict-loser. Can be either one string or two comma-separated strings to assign different suffixes to Path1/Path2. (default: 'conflict') 51 --create-empty-src-dirs Sync creation and deletion of empty directories. (Not compatible with --remove-empty-dirs) 52 --download-hash Compute hash by downloading when otherwise unavailable. (warning: may be slow and use lots of data!) 53 --filters-file string Read filtering patterns from a file 54 --force Bypass --max-delete safety check and run the sync. Consider using with --verbose 55 -h, --help help for bisync 56 --ignore-listing-checksum Do not use checksums for listings (add --ignore-checksum to additionally skip post-copy checksum checks) 57 --max-lock Duration Consider lock files older than this to be expired (default: 0 (never expire)) (minimum: 2m) (default 0s) 58 --no-cleanup Retain working files (useful for troubleshooting and testing). 59 --no-slow-hash Ignore listing checksums only on backends where they are slow 60 --recover Automatically recover from interruptions without requiring --resync. 61 --remove-empty-dirs Remove ALL empty directories at the final cleanup step. 62 --resilient Allow future runs to retry after certain less-serious errors, instead of requiring --resync. Use at your own risk! 63 -1, --resync Performs the resync run. Equivalent to --resync-mode path1. Consider using --verbose or --dry-run first. 64 --resync-mode string During resync, prefer the version that is: path1, path2, newer, older, larger, smaller (default: path1 if --resync, otherwise none for no resync.) (default "none") 65 --slow-hash-sync-only Ignore slow checksums for listings and deltas, but still consider them during sync calls. 66 --workdir string Use custom working dir - useful for testing. (default: {WORKDIR}) 67 ``` 68 69 70 ## Copy Options 71 72 Flags for anything which can Copy a file. 73 74 ``` 75 --check-first Do all the checks before starting transfers 76 -c, --checksum Check for changes with size & checksum (if available, or fallback to size only). 77 --compare-dest stringArray Include additional comma separated server-side paths during comparison 78 --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination 79 --cutoff-mode HARD|SOFT|CAUTIOUS Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default HARD) 80 --ignore-case-sync Ignore case when synchronizing 81 --ignore-checksum Skip post copy check of checksums 82 --ignore-existing Skip all files that exist on destination 83 --ignore-size Ignore size when skipping use modtime or checksum 84 -I, --ignore-times Don't skip items that match size and time - transfer all unconditionally 85 --immutable Do not modify files, fail if existing files have been modified 86 --inplace Download directly to destination file instead of atomic download to temp/rename 87 --max-backlog int Maximum number of objects in sync or check backlog (default 10000) 88 --max-duration Duration Maximum duration rclone will transfer data for (default 0s) 89 --max-transfer SizeSuffix Maximum size of data to transfer (default off) 90 -M, --metadata If set, preserve metadata when copying objects 91 --modify-window Duration Max time diff to be considered the same (default 1ns) 92 --multi-thread-chunk-size SizeSuffix Chunk size for multi-thread downloads / uploads, if not set by filesystem (default 64Mi) 93 --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 256Mi) 94 --multi-thread-streams int Number of streams to use for multi-thread downloads (default 4) 95 --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki) 96 --no-check-dest Don't check the destination, copy regardless 97 --no-traverse Don't traverse destination file system on copy 98 --no-update-dir-modtime Don't update directory modification times 99 --no-update-modtime Don't update destination modtime if files identical 100 --order-by string Instructions on how to order the transfers, e.g. 'size,descending' 101 --partial-suffix string Add partial-suffix to temporary file name when --inplace is not used (default ".partial") 102 --refresh-times Refresh the modtime of remote files 103 --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs 104 --size-only Skip based on size only, not modtime or checksum 105 --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown, upload starts after reaching cutoff or when file ends (default 100Ki) 106 -u, --update Skip files that are newer on the destination 107 ``` 108 109 ## Important Options 110 111 Important flags useful for most commands. 112 113 ``` 114 -n, --dry-run Do a trial run with no permanent changes 115 -i, --interactive Enable interactive mode 116 -v, --verbose count Print lots more stuff (repeat for more) 117 ``` 118 119 ## Filter Options 120 121 Flags for filtering directory listings. 122 123 ``` 124 --delete-excluded Delete files on dest excluded from sync 125 --exclude stringArray Exclude files matching pattern 126 --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin) 127 --exclude-if-present stringArray Exclude directories if filename is present 128 --files-from stringArray Read list of source-file names from file (use - to read from stdin) 129 --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin) 130 -f, --filter stringArray Add a file filtering rule 131 --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin) 132 --ignore-case Ignore case in filters (case insensitive) 133 --include stringArray Include files matching pattern 134 --include-from stringArray Read file include patterns from file (use - to read from stdin) 135 --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off) 136 --max-depth int If set limits the recursion depth to this (default -1) 137 --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off) 138 --metadata-exclude stringArray Exclude metadatas matching pattern 139 --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin) 140 --metadata-filter stringArray Add a metadata filtering rule 141 --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin) 142 --metadata-include stringArray Include metadatas matching pattern 143 --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin) 144 --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off) 145 --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off) 146 ``` 147 148 See the [global flags page](/flags/) for global options not listed here. 149 150 # SEE ALSO 151 152 * [rclone](/commands/rclone/) - Show help for rclone commands, flags and backends. 153