1
0
mirror of https://github.com/minio/docs.git synced 2025-07-02 05:02:40 +03:00
Files
docs/source/reference/minio-mc/mc-cp.rst
2023-10-27 14:33:06 -04:00

15 KiB

mc cp

minio

Table of Contents

mc cp

Syntax

The mc cp command copies objects to or from a MinIO deployment, where the source can MinIO or a local filesystem.

You can also use mc cp against the local filesystem to produce similar results to the cp commandline tool.

Note

mc cp only copies the latest version or the specified version of an object without any version information or modification date. To copy all versions, version information, and related metadata, use mc replicate add or mc admin replicate.

EXAMPLE

The following command copies files from a local filesystem directory to the mydata bucket on the myminio MinIO deployment:

mc cp --recursive ~/mydata/ myminio/mydata/

SYNTAX

The mc cp command has the following syntax:

mc [GLOBALFLAGS] cp                                                        \
                 [--attr "string"]                                         \
                 [--continue]                                              \
                 [--disable-multipart]                                     \
                 [--encrypt "string"]                                      \
                 [--encrypt-key]                                           \
                 [--legal-hold "on"]                                       \
                 [--limit-download string]                                 \
                 [--limit-upload string]                                   \
                 [--md5]                                                   \
                 [--newer-than "string"]                                   \
                 [--older-than "string"]                                   \
                 [--preserve]                                              \
                 [--recursive]                                             \
                 [--retention-mode "string" --retention-duration "string"] \
                 [--rewind "string"]                                       \
                 [--storage-class "string"]                                \
                 [--tags "string"]                                         \
                 [--version-id "string"]                                   \
                 [--zip]                                                   \
                 SOURCE [SOURCE ...]                                       \
                 TARGET

Parameters

SOURCE

The object or objects to copy.

For copying an object from MinIO, specify the alias <alias> and the full path to that object (e.g. bucket and path to object). For example:

mc cp play/mybucket/object.txt ~/mydata/object.txt

Specify multiple SOURCE paths to copy multiple objects to the specified ~mc cp TARGET. mc cp treats the last specified alias or filesystem path as the TARGET. For example:

mc cp ~/data/object.txt myminio/mydata/object.txt play/mydata/

For copying an object from a local filesystem, specify the full path to that object. For example:

mc cp ~/mydata/object.txt play/mybucket/object.txt

If you specify a directory or bucket to ~mc cp SOURCE, you must also specify ~mc cp --recursive to recursively copy the contents of that directory or bucket. If you omit the --recursive argument, ~mc cp only copies objects in the top level of the specified directory or bucket.

TARGET

The full path to which mc cp copies the object.

For copying an object to MinIO, specify the alias <mc alias> and the full path to that object (e.g. bucket and path to object). For example:

mc cp ~/mydata/object.txt play/mybucket/object.txt

For copying an object from a local filesystem, specify the full path to that object. For example:

mc cp play/mybucket/object.txt ~/mydata/object.txt
--attr

Add custom metadata for the object. Specify key-value pairs as KEY=VALUE\;. For example, --attr key1=value1\;key2=value2\;key3=value3.

--continue, c

Create or resume a copy session.

--disable-multipart

Disables multipart upload for the copy session.

--encrypt

Encrypt or decrypt objects using server-side encryption <minio-sse> with server-managed keys. Specify key-value pairs as KEY=VALUE.

  • Each KEY represents a bucket or object.
  • Each VALUE represents the data key to use for encrypting object(s).

Enclose the entire list of key-value pairs passed to ~mc cp --encrypt in double-quotes ".

~mc cp --encrypt can use the MC_ENCRYPT environment variable for retrieving a list of encryption key-value pairs as an alternative to specifying them on the command line.

--encrypt-key

Encrypt or decrypt objects using server-side encryption with client-specified keys. Specify key-value pairs as KEY=VALUE.

  • Each KEY represents a bucket or object.
  • Each VALUE represents the data key to use for encrypting

    object(s).

Enclose the entire list of key-value pairs passed to ~mc cp --encrypt-key in double quotes ".

~mc cp --encrypt-key can use the MC_ENCRYPT_KEY environment variable for retrieving a list of encryption key-value pairs as an alternative to specifying them on the command line.

--legal-hold

Enables indefinite Legal Hold <minio-object-locking-legalhold> object locking on the copied objects.

Specify on.

--md5

Forces all uploads to calculate MD5 checksums.

--newer-than

Remove object(s) newer than the specified number of days. Specify a string in #d#hh#mm#ss format. For example: --older-than 1d2hh3mm4ss

Defaults to 0 (all objects).

--older-than

Remove object(s) older than the specified time limit. Specify a string in #d#hh#mm#ss format. For example: --older-than 1d2hh3mm4ss

Defaults to 0 (all objects).

--preserve, a

Preserve file system attributes and bucket policy rules of the ~mc cp SOURCE directories, buckets, and objects on the ~mc cp TARGET bucket(s).

--recursive, r

Recursively copy the contents of each bucket or directory ~mc cp SOURCE to the ~mc cp TARGET bucket.

--retention-duration

The duration of the WORM retention mode <minio-object-locking-retention-modes> to apply to the copied object(s).

Specify the duration as a string in #d#hh#mm#ss format. For example: --retention-duration "1d2hh3mm4ss".

Requires specifying ~mc cp --retention-mode.

--retention-mode

Enables object locking mode <minio-object-locking-retention-modes> on the copied object(s). Supports the following values:

  • GOVERNANCE
  • COMPLIANCE

Requires specifying ~mc cp --retention-duration.

--rewind

storage-class, sc

Set the storage class for the new object(s) on the ~mc cp TARGET.

See AmazonS3/latest/dev/storage-class-intro.html for more information on S3 storage classes.

--tags

Applies one or more tags to the copied objects.

Specify an ampersand-separated list of key-value pairs as KEY1=VALUE1&KEY2=VALUE2, where each pair represents one tag to assign to the objects.

--version-id, vid

--zip

During copy, extract files from a .zip archive. Only functional when the source archive file exists on a MinIO deployment.

Global Flags

Examples

Copy Object to S3

Use mc cp to copy an object to an S3-compatible host:

Filesystem to S3

mc cp SOURCE ALIAS/PATH
  • Replace SOURCE <mc cp SOURCE> with the filesystem path to the object.
  • Replace ALIAS <mc cp TARGET> with the alias <mc alias> of a configured S3-compatible host.
  • Replace PATH <mc cp TARGET> with the path to the object on the S3-compatible host. You can specify a different object name to "rename" the object on copy.

S3 to S3

mc cp SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • Replace SRCALIAS <mc cp SOURCE> with the alias <mc alias> of a source S3-compatible host.
  • Replace SRCPATH <mc cp SOURCE> with the path to the object on the S3-compatible host.
  • Replace TGTALIAS <mc cp TARGET> with the alias <mc alias> of a target S3-compatible host.
  • Replace TGTPATH <mc cp TARGET> with the path to the object on a target S3-compatible host. Omit the object name to use the SRCPATH object name.

Recursively Copy Objects to S3

Use mc cp --recursive to recursively copy objects to an S3-compatible host:

Filesystem to S3

mc cp --recursive SOURCE ALIAS/PATH
  • Replace SOURCE <mc cp SOURCE> with the filesystem path to the directory containing the file(s).
  • Replace ALIAS <mc cp TARGET> with the alias <mc alias> of a configured S3-compatible host.
  • Replace PATH <mc cp TARGET> with the path to the object on the S3-compatible host. mc cp uses the SOURCE filenames when creating the objects on the target host.

S3 to S3

mc cp --recursive SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • Replace SRCALIAS <mc cp SOURCE> with the alias <mc alias> of a source S3-compatible host.
  • Replace SRCPATH <mc cp SOURCE> with the path to the bucket or bucket prefix on the source S3-compatible host.
  • Replace TGTALIAS <mc cp TARGET> with the alias <mc alias> of a target S3-compatible host.
  • Replace TGTPATH <mc cp TARGET> with the path to the object on the target S3-compatible host. mc cp uses the SRCPATH object names when creating objects on the target host.

Copy Point-In-Time Version of Object

Use mc cp --rewind to copy an object as it existed at a specific point in time. This command only applies to S3-to-S3 copy.

mc cp --rewind DURATION SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • Replace DURATION <mc cp --rewind> with the point-in-time in the past at which the command copies the object. For example, specify 30d to copy the version of the object 30 days prior to the current date.
  • Replace SRCALIAS <mc cp SOURCE> with the alias <mc alias> of a source S3-compatible host.
  • Replace SRCPATH <mc cp SOURCE> with the path to the object on the source S3-compatible host.
  • Replace TGTALIAS <mc cp TARGET> with the alias <mc alias> of a target S3-compatible host.
  • Replace TGTPATH <mc cp TARGET> with the path to the object on the target S3-compatible host. Omit the object name to use the SRCPATH object name.

Copy Specific Version of Object

Use mc cp --version-id to copy a specific version of an object. This command only applies to S3-to-S3 copy.

mc cp --version-id VERSION SRCALIAS/SRCPATH TGTALIAS/TGTPATH
  • Replace VERSION <mc cp --rewind> with the version of the object to copy.
  • Replace SRCALIAS <mc cp SOURCE> with the alias <mc alias> of a source S3-compatible host.
  • Replace SRCPATH <mc cp SOURCE> with the path to the object on the source S3-compatible host.
  • Replace TGTALIAS <mc cp TARGET> with the alias <mc alias> of a target S3-compatible host.
  • Replace TGTPATH <mc cp TARGET> with the path to the object on the target S3-compatible host. Omit the object name to use the SRCPATH object name.

Behavior

mc cp verifies all copy operations to object storage using MD5SUM checksums.

Interrupted or failed copy operations can resume from the point of failure by issuing the mc cp operation again with the ~mc cp --continue argument.

S3 Compatibility