"mc cp --recursive" 和 "mc mirror --overwrite" 有什么区别

what's different between "mc cp --recursive" and "mc mirror --overwrite"

如果我们想复制一个bucket到另一个MiniO集群,我们应该使用"mc cp"还是"mc mirror"?我做了一些简单的实验,好像是一样的。

谢谢~!

简答

是的,mc cp --recursive SOURCE TARGETmc mirror --overwrite SOURCE TARGET 会产生相同的效果(根据我 2022-01 年的最佳经验)。

  • mc cp 允许对单个文件进行微调选项(但可以使用 --recursive 进行批量复制)
  • mc mirror 专注于批量复制,可以创建存储桶

查看 Minio client guidemc mirrormc cp 命令之间存在一些差异,尽管 运行 它们 的结果可以一样。

应该选择哪一个答案取决于您的要求,这两个选项对您来说都是可以接受的。

详情

命令签名不同:mc cp 允许多个源,而 mc mirror 只允许一个源。

此外,可用的标志有些不同(见下文)。

标记 mc cp 商品未由 mc mirror

提供
  1. --rewind value: 在指定时间将对象回滚到当前版本
  2. --version-id value, --vid value: select 要复制的对象版本
  3. --attr:为对象添加自定义元数据(格式:KeyName1=string;KeyName2=string
  4. --continue-c:创建或恢复复制会话
  5. --tags:对上传的对象应用标签(如key=value&key2=value2等)
  6. --rewind value: 在指定时间将对象回滚到当前版本
  7. (--recursive-r 标志,但 mirror 始终如此)

mc mirror 提供的标记 mc clone 未提供:

标记 mc mirror 商品未由 mc cp

提供
  1. --exclude value: 排除匹配指定对象名称模式的对象
  2. --fake: 执行伪镜像操作
  3. --overwrite:如果目标与源不同,则覆盖目标上的对象
  4. --region value:在目标上创建新存储桶时指定区域(默认值:“us-east-1”)
  5. --watch, -w: 观察并同步变化(这可能是个大问题)

考虑使用 rclone 作为具有额外灵活性的替代方案。 Minio 项目专注于性能并成为一个出色、简单的 S3 后端,而不是实现您可能要求的所有功能(例如,块大小、节流)。