This is the manual for the unreleased main branch. The latest release is v0.4.0: read its manual.
clusterctl copy

clusterctl copy

clusterctl copy

Copy files to or from many nodes

Synopsis

Copy files to every node of a set, or collect files from each of them.

By default the sources are local and the destination is on the nodes. With –download the direction is reversed, and because every node would write to the same local path, the destination must be a directory; each node’s files land in a directory of its own under it, named after the node.

The nodes are copied in parallel, as many at once as the fan-out allows, and each transfer is bounded by –timeout. scp’s progress meter is shown only when one transfer runs at a time, for one node or with –fanout 1, and no progress is shown; –progress none leaves the line to scp.

A remote path is read by a shell under the legacy scp protocol, which OpenSSH used by default before 9.0, and taken literally under SFTP. A remote path holding whitespace, quotes or shell syntax would mean different things to the two, so it is refused. Globs and ~ work in both.

clusterctl copy -n @exe /etc/hosts /etc/hosts clusterctl copy -n exe[1-4] –download /var/log/slurmd.log /var/log/messages ./logs/

clusterctl copy [-n NODESET] SOURCE... DESTINATION [flags]

Options

      --download           copy from the nodes instead of to them
  -h, --help               help for copy
  -p, --preserve           keep modification times and modes
  -R, --recursive          copy directories
  -r, --root               copy as root
      --timeout duration   how long one transfer may take (default: fanout.commandTimeout, or 30m)
  -u, --user string        remote account to copy as

Options inherited from parent commands

      --config strings        configuration file or directory to read, repeatable (default: CLUSTERCTL_CONFIG or the search path)
      --context string        context to act on (default: the current one)
      --dry-run               report what would be done and change nothing
      --fanout int            how many hosts to work on at once, at least 1; caps the service processors and the names asked at once too, which fanout.max and CLUSTERCTL_FANOUT do not (default: from the configuration)
      --force                 allow protected hosts, and nodes the inventory does not know, to be touched
  -n, --nodes stringArray     node set to act on, for example 'exe[1-10],@rack:R02' (default: CLUSTERCTL_NODES)
  -o, --output string         output format: table, wide, json, yaml, nodeset, name, jq= (default "table")
      --progress string       how to show the progress of a command on standard error: auto, tty, counter, plain, none (default: CLUSTERCTL_PROGRESS, else auto, a live tree when standard error is a terminal; plain writes lines for a log)
      --progress-log string   append the progress events of a command to this file, one JSON object per line, created readable by you alone (default: CLUSTERCTL_PROGRESS_LOG; an empty one writes none)
      --set stringArray       override one configuration value as PATH=VALUE, repeatable
  -y, --yes                   answer the confirmation prompts with yes

SEE ALSO

  • clusterctl - Administer HPC clusters from one binary