mc cp

MinIO 客户端 mc cp 命令用来复制对象。语法如下:

C:\> mc cp -h
NAME:
  mc cp - copy objects

USAGE:
  mc cp [FLAGS] SOURCE [SOURCE...] TARGET

FLAGS:
  --rewind value                     roll back object(s) to current version at specified time 在指定时间将对象回滚到当前版本
  --version-id value, --vid value    select an object version to copy 选择要复制的对象版本
  --recursive, -r                    copy recursively 递归复制
  --older-than value                 copy objects older than L days, M hours and N minutes 复制超过 L 天、M 小时和 N 分钟的对象
  --newer-than value                 copy objects newer than L days, M hours and N minutes 复制超过 L 天、M 小时和 N 分钟的对象
  --storage-class value, --sc value  set storage class for new object(s) on target 为目标上的新对象设置存储类
  --encrypt value                    encrypt/decrypt objects (using server-side encryption with server managed keys) 加密/解密对象(使用服务器端加密和服务器管理的密钥)
  --attr value                       add custom metadata for the object 为对象添加自定义元数据
  --continue, -c                     create or resume copy session创建或恢复复制会话
  --preserve, -a                     preserve filesystem attributes (mode, ownership, timestamps) 保留文件系统属性(mode、所有权、时间戳)
  --disable-multipart                disable multipart upload feature 禁用分段上传功能
  --md5                              force all upload(s) to calculate md5sum checksum 强制所有上传计算 md5sum 校验和
  --tags value                       apply tags to the uploaded objects 将标签应用于上传的对象
  --retention-mode value             retention mode to be applied on the object (governance, compliance) 应用于对象的保留模式
  --retention-duration value         retention duration for the object in d days or y years 以 d 天或 y 年为单位的对象保留期限
  --legal-hold value                 apply legal hold to the copied object (on, off) 对复制的对象应用合法保留(打开、关闭)
  --encrypt-key value                encrypt/decrypt objects (using server-side encryption with customer provided keys) 加密/解密对象(使用带有客户提供的密钥的服务器端加密)
  --config-dir value, -C value       path to configuration folder (default: "C:\\Users\\Administrator\\mc")
  --quiet, -q                        disable progress bar display
  --no-color                         disable color theme
  --json                             enable JSON lines formatted output
  --debug                            enable debug output
  --insecure                         disable SSL certificate verification
  --help, -h                         show help

ENVIRONMENT VARIABLES:
  MC_ENCRYPT:      list of comma delimited prefixes 逗号分隔前缀列表
  MC_ENCRYPT_KEY:  list of comma delimited prefix=secret values 逗号分隔 prefix=secret 值列表

示例

(1)将对象列表从本地文件系统复制到 Amazon S3 云存储。

# 创建 files 存储桶
D:\server\minio>mc mb local/files
Bucket created successfully `local/files`.

# 将本地 start-minio.bat 文件复制到 files 存储桶
D:\server\minio>mc cp ./start-minio.bat local/files
./start-minio.bat:  152 B / 152 B [===========================================================] 6.95 KiB/s 0s

# 查看拷贝结果
D:\server\minio>mc ls local/files
[2021-07-10 08:58:00 CST]   152B start-minio.bat

(2)以递归方式将文件夹从 MinIO 云存储复制到 Amazon S3 云存储。

C:\> mc cp --recursive play/mybucket/burningman2011/ s3/mybucket/

(3)递归复制多个本地文件夹到 MinIO 云存储。

C:\> mc cp --recursive backup/2014/ backup/2015/ play/archive/

(4)以递归方式将存储桶从别名 Amazon S3 云存储复制到 Windows 上的本地文件系统。

C:\> mc cp --recursive s3\documents\2014\ C:\Backups\2014

(5)将超过 7 天 10 小时的文件从 MinIO 云存储复制到 Amazon S3 云存储。

C:\> mc cp --older-than 7d10h play/mybucket/burningman2011/ s3/mybucket/

(6)将超过 7 天 10 小时的文件从 MinIO 云存储复制到本地路径。

C:\> mc cp --newer-than 7d10h play/mybucket/burningman2011/ ~/latest/

(7)将名称包含 unicode 字符的对象复制到 Amazon S3 云存储。

C:\> mc cp 本語 s3/andoria/

(8)将带有空格分隔字符的本地文件夹复制到 Amazon S3 云存储。

C:\> mc cp --recursive 'workdir/documents/May 2014/' s3/miniocloud

(9)以递归方式将包含加密对象的文件夹从 Amazon S3 复制到 MinIO 云存储。

C:\> mc cp --recursive --encrypt-key "s3/documents/=32byteslongsecretkeymustbegiven1,myminio/documents/=32byteslongsecretkeymustbegiven2" s3/documents/ myminio/documents/

(10)以递归方式将包含加密对象的文件夹从 Amazon S3 复制到 MinIO 云存储。 如果加密密钥包含不可打印的字符(如制表符),请传递 base64 编码的字符串作为键。

C:\> mc cp --recursive --encrypt-key "s3/documents/=MzJieXRlc2xvbmdzZWNyZWFiY2RlZmcJZ2l2ZW5uMjE=,myminio/documents/=MzJieXRlc2xvbmdzZWNyZWFiY2RlZmcJZ2l2ZW5uMjE=" s3/documents/ myminio/documents/

(11)使用指定的元数据将本地文件系统中的对象列表复制到 MinIO 云存储,以“;”分隔。

C:\> mc cp --attr "key1=value1;key2=value2" Music/*.mp4 play/mybucket/

(12)使用 Cache-Control 和自定义元数据将文件夹从 MinIO 云存储递归复制到 Amazon S3 云存储,以“;”分隔。

C:\> mc cp --attr "Cache-Control=max-age=90000,min-fresh=9000;key1=value1;key2=value2" --recursive play/mybucket/burningman2011/ s3/mybucket/

(13)将文本文件复制到对象存储并将 REDUCED_REDUNDANCY 存储类分配给上传的对象。

C:\> mc cp --storage-class REDUCED_REDUNDANCY myobject.txt play/mybucket

(14)将文本文件复制到对象存储并创建或恢复复制会话。

C:\> mc cp --recursive --continue dir/ play/mybucket

(15)将文本文件复制到对象存储并将文件系统属性保留为元数据。

C:\> mc cp -a myobject.txt play/mybucket

(16)将文本文件复制到对象存储中,对象锁定模式设置为“GOVERNANCE”,保留期限为 1 天。

C:\> mc cp --retention-mode governance --retention-duration 1d locked.txt play/locked-bucket/

(17)将文本文件复制到启用了合法保留的对象存储。

C:\> mc cp --legal-hold on locked.txt play/locked-bucket/

(18)将文本文件复制到对象存储并禁用分段上传功能。

C:\> mc cp --disable-multipart myobject.txt play/mybucket

(19)回滚过去 10 天以复制 'mybucket' 的内容

C:\> mc cp --rewind 10d -r play/mybucket/ /tmp/dest/

(20)为上传的对象设置标签

C:\> mc cp -r --tags "category=prod" ./data/ play/another-bucket/
说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号