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