14 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.
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"] \
[--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"] \
SOURCE [SOURCE ...] \
TARGET
Parameters
SOURCE
Required 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/object.txt
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
Required 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
Optional Add custom metadata for the object. Specify
key-value pairs as KEY=VALUE\;
. For example,
--attr key1=value1\;key2=value2\;key3=value3
.
--continue, c
Optional Create or resume a copy session.
--disable-multipart
Optional Disables multipart upload for the copy session.
--encrypt
Optional 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).
- Each
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
Optional 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).
- Each
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
Optional Enables indefinite Legal Hold
<minio-object-locking-legalhold>
object locking on the
copied objects.
Specify on
.
md5
Optional Forces all uploads to calculate MD5 checksums.
--newer-than
Optional 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
Optional 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
Optional 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
Optional Recursively copy the contents of each bucket or
directory ~mc cp SOURCE
to the ~mc cp TARGET
bucket.
--retention-duration
Optional 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
Optional 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
Optional 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 classses.
--tags
Optional Applies one or more tags to the copied objects.
Specify an ampersand-seperated list of key-value pairs as
KEY1=VALUE1&KEY2=VALUE2
, where each pair represents one
tag to assign to the objects.
--version-id, vid
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 thealias <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 thealias <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 thealias <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 theSRCPATH
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 thealias <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 theSOURCE
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 thealias <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 thealias <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 theSRCPATH
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, specify30d
to copy the version of the object 30 days prior to the current date. - Replace
SRCALIAS <mc cp SOURCE>
with thealias <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 thealias <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 theSRCPATH
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 thealias <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 thealias <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 theSRCPATH
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.