CScp(1)

NAME
CScp - Cluster Secure Copy based on libssh

SYNOPSIS
cscp [options] source destination

DESCRIPTION
cscp copies a file or, with -r, a whole directory tree to or from one or many remote hosts over SSH. It is the copy counterpart of cssh(1) - the same binary, invoked under a different name, dispatches into copy mode instead of command-execution mode. Exactly one of source or destination names a remote location, in the same user@host:path syntax as scp(1):
    cscp user@host:/remote/dir ./local/dir      # download
    cscp ./local/dir user@host:/remote/dir      # upload
If the source names a remote host, the copy is a download; if the destination does, it's an upload. Copying directly between two remote hosts is not supported - one side must be a local path. With -H, the same copy is fanned out to every host listed in the hosts file; on download, each host's files land under a ./host subdirectory of the local destination to avoid collisions between hosts. Two independent transfer engines are available (see --protocol below): the classic scp wire protocol, and sftp, the modern replacement recommended by libssh since version 0.10.0. Both support recursive copies and per-host progress bars.

OPTIONS

-r, --recursive
    Copy directories recursively. Without it, copying a directory is an error.

-P, --progress-bar
    Show a live progress bar per host while copying. On completion of a file, its bar is replaced by a permanent "done" line naming the file and its size.

-j, --parallel=jobs
    During a recursive copy (-r), transfer up to jobs files per host concurrently instead of one at a time (default: 1). Each concurrent transfer gets its own progress bar. Only the sftp engine can pipeline multiple files over one connection this way; it is ignored under --protocol=scp, whose wire protocol delivers one file at a time.

--protocol=auto|scp|sftp
    Which transfer engine to use. auto (the default) picks sftp when built against libssh ≥ 0.10.0 (where the legacy scp API is deprecated), and scp otherwise.

-l, --login=login_name
    Login user (default: current user).

-p, --port=port
    Port to use for SSH (default: 22).

-H, --hosts-file=hosts-file
    Copy to/from every host listed in hosts-file (one per line, optionally host:port).

--known-hosts=path
    Use this known_hosts file instead of the default one.

--ignore-connect-errors
    Skip a host that can't be connected to at startup, instead of aborting.

--ignore-authentication-errors
    Skip a host that fails authentication, instead of aborting.

--allow-password-authentication
    Fall back to password authentication if key-based authentication fails.

-v, --verbose
    Increase verbosity (can be given multiple times).

--long-version
    Print full version and credits, then exit.

SEE ALSO
cssh(1), scp(1), sftp(1)

AUTHOR
CScp has been written by Andreas Baumann <mail@andreasbaumann.cc>