-parallel | setting | worker count, or auto[:N] for the online tuner of workers plus read and write concurrency (default: CPUs, 2 to 8) |
-listen | setting | serve: an address to serve the protocol on (loopback, unless -tls.cert, -tls.key and -tls.clientca are all set; -allow is required) |
-bs | setting | read and write block size (default 1m) |
-engine | setting | auto, uring or threads |
-depth | setting | stop below this depth |
-bwlimit | setting | read at most this many bytes a second (at least 4k) |
-nodes | runs a program | comma-separated hosts to spread the copy or scan over |
-copybatch | runs a program | a program to run per batch instead of copying here |
-dircount | setting | NFS readdir buffer size (1k to 4m) |
-catalog | safety rail | the catalog directory (else RCP_CATALOG, else the state directory) |
-newid | setting | record this run under a new catalog id |
-id | setting | the catalog id to resume, sync, scan from or delete |
-noid | setting | keep no catalog for this run |
-snap | path | resume or sync from this source instead of the catalog’s |
-match | setting | keep paths matching this glob (repeatable) |
-exclude | setting | drop paths matching this glob (repeatable) |
-minsize | setting | files at least this large |
-maxsize | setting | files at most this large |
-newer | setting | files modified within this age |
-older | setting | files untouched for this age |
-type | setting | f, d or l |
-uid | setting | files owned by this user |
-gid | setting | files owned by this group |
-fileid | setting | the entry with this inode number |
-nohash | setting | no digest in the catalog; the kernel may copy the bytes |
-sha256 | setting | digest with SHA-256 (the default) |
-blake3 | setting | digest with BLAKE3 |
-xxh3 | setting | digest with XXH3-64, the hash rsync and rclone speak; fast and NOT cryptographic |
-xxh128 | setting | digest with XXH3-128, the hash rsync and rclone speak; fast and NOT cryptographic |
-md5 | setting | accepted for compatibility; the run’s digest is unchanged |
-delta | setting | send a file the destination already has as a patch against it |
-compress | setting | compress the payloads on an ssh:// or rcp:// stream |
-compress.codec | setting | lz4 (fast, the default), deflate or zstd (slower, smaller on text); implies -compress |
-compress-codec | setting | the same as -compress.codec, the spelling the first zstd change used |
-compress.level | setting | how hard deflate works, 1..9 (default 6); needs -compress.codec deflate, since neither lz4 nor this crate’s zstd encoder has a level; implies -compress |
-nolinks | setting | copy hard links as separate files |
-noxattr | setting | skip extended attributes and ACLs |
-acl4 | setting | carry NFSv4 ACLs on NFS endpoints |
-chown | setting | ownership must be preserved: fail otherwise |
-noown | setting | never touch ownership |
-preserve-atime | setting | leave the source’s access times as they were |
-fsync | setting | flush every file to stable storage |
-nocache | setting | drop what was written from the page cache |
-dryrun | setting | plan and report, write nothing |
-force | setting | actually remove (delete counts without it) |
-removetopdir | setting | remove the top directory too |
-replace | setting | overwrite what is already there |
-nodata | setting | compare metadata only |
-noattrs | setting | compare content only |
-nomods | setting | ignore modification times |
-mtimewindow | setting | tolerate this many seconds of modification-time difference |
-json | safety rail | the run’s events on stdout as JSON, one object per line; human lines move to stderr |
-allow | safety rail | a root this run may touch, repeatable; outside it every endpoint is refused before it is opened |
-readonly | safety rail | refuse every command that writes to an endpoint; rcp still records the run in the catalog’s jobs.log |
-confirm | safety rail | the plan digest a dry run printed; the run proceeds only if the plan still has that digest |
-requireconfirm | safety rail | refuse a run that would remove or overwrite unless -confirm matches |
-v | setting | one line per entry |
-l | setting | the long listing |
-q | setting | no per-entry output |
-stats | setting | the statistics report |
-csv | setting | report as comma-separated values |
-html | setting | report as HTML |
-fmt | setting | a format string per entry |
-du | setting | report sizes as du does |
-duk | setting | report sizes as du -k does |
-edupe | setting | report duplicate files |
-hashcache | setting | reuse a remembered digest when size, mtime and inode all still agree |
-rsyncable | setting | cut .tar.gz members at content-defined boundaries, so an edit does not change every later member |
-nonames | setting | numeric user and group ids |
-progress | setting | a progress line on stderr every few seconds |
-noprogress | setting | no progress lines |
-loglevel | setting | INFO or DEBUG |
-all | setting | show everything, not just the usual subset |
-h | setting | the usage text |
-help | setting | the usage text |
-version | setting | the version and transports |
-V | setting | the version and transports |
-sample | setting | how many bytes to read for the rate sample |
-gbit | setting | the link speed to project against |
-t | setting | how long a live test copy may run, or how long job wait waits |
-user | setting | the user to set |
-group | setting | the group to set |
-user-from | setting | only change entries owned by this user |
-group-from | setting | only change entries owned by this group |
-reference | path | take the mode or owner from this path |
-mode | setting | the mode to set |
-rcp.remote | runs a program | the rcp to run on an ssh:// host |
-via | runs a program | an ssh://[user@]host[:port] or rcp://host:port whose rcp serve opens every remote endpoint of this run on its behalf |
-tls.ca | transport | the PEM bundle an rcps:// client checks the serve’s certificate against (default: the system bundle) |
-tls.cert | transport | this side’s certificate chain (PEM): what a serve -listen presents, and what an rcps:// client presents when asked |
-tls.key | transport | the private key for -tls.cert (PKCS#8, PKCS#1 or SEC1) |
-tls.clientca | transport | the PEM bundle a serve -listen requires the peer’s certificate to come from; naming it is what turns mutual TLS on, and what lets a serve bind anything but loopback |
-nfs.sec | transport | sys, krb5, krb5i or krb5p |
-nfs.vers | transport | 3 or 4 |
-hdfs.namenode | service | the namenode for hdfs:///path |
-s3.endpoint | service | the S3 service to talk to |
-s3.profile | credential | the AWS profile to take credentials from |
-s3.insecure | transport | use http when the S3 endpoint names no scheme |
-s3.noverify | transport | skip certificate verification |
-oci.user | credential | USER:PASSWORD for the registry |
-dav.user | credential | USER:PASSWORD for the WebDAV server |
-smb.user | credential | [DOMAIN]USER:PASSWORD for the SMB share |
-smb.sign | setting | sign and verify every SMB message even when the server does not ask, so an edit that clears its signing bit is refused |
-smb.handshake | transport | seconds an SMB handshake may take before the connection is retried (default 10) |
-dav.insecure | transport | use http for davs:// endpoints |
-dav.noverify | transport | skip certificate verification for davs:// endpoints |
-http.user | credential | USER:PASSWORD for an http:// or https:// source |
-http.noverify | transport | skip certificate verification for https:// sources |
-http.index | path | the published index to look for (default rcp-index.json; empty forces the autoindex readers) |
-oci.insecure | transport | use http for oci:// endpoints |
-oci.noverify | transport | skip certificate verification for oci:// endpoints |
-rmrf | setting | diag: remove this tree |
-cat | setting | diag: print this file |
-mkdir | setting | diag: make this directory |
-rmdir | setting | diag: remove this empty directory |
-rmid | setting | diag: remove this catalog |
-n | setting | the offset to read a job log from, and diag: how many |
-rand% | setting | diag: percentage of random access |
-read% | setting | diag: percentage of reads |
-npend | setting | diag: how many operations in flight |
-size | setting | diag: how large |
-u | setting | diag: user |
-g | setting | diag: group |
-umap | path | diag: user id mapping, read from this file |
-gmap | path | diag: group id mapping, read from this file |
-atime | setting | diag: the access time to set |
-mtime | setting | diag: the modification time to set |
-top-match | setting | diag: match at the top level |
-branch-match | setting | diag: match a branch |
-m | setting | diag: a measure argument |
-j | setting | diag: a job argument |
-read | setting | diag: read |
-write | setting | diag: write |
-random | setting | diag: random access |
-sequential | setting | diag: sequential access |
-wrdata | setting | diag: write data |
-rebuild | setting | diag: rebuild the index |