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/