mc undo 命令用来撤消 PUT/DELETE 操作,语法如下:
C:\>mc undo -h NAME: mc undo - undo PUT/DELETE operations USAGE: mc undo [FLAGS] SOURCE [SOURCE...] FLAGS: --recursive, -r undo last S3 put/delete operations --force force recursive operation --last value undo N last changes (default: 1) --dry-run fake an undo operation --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
(1)撤消最近 1 次上传和/或删除特定对象
# 上传一个文件到本地 MinIO D:\server\minio>mc cp ping.txt local/images ping.txt: 443 B / 443 B [==========================================================] 19.98 KiB/s 0s # 查看上传的文件信息 D:\server\minio>mc ls local/images/ping.txt [2021-07-17 08:08:44 CST] 443B ping.txt # 尝试回滚操作,报错了,提示该命令只支持启用了 S3 版本控制的存储桶 D:\server\minio>mc undo local/images/ping.txt --last 1 mc: <ERROR> Undo command works only with S3 versioned-enabled buckets. # 尝试去开启 images 存储桶的版本支持,提示功能没有实现,尴尬了 # 可能因为我这里是本地 MinIO 的原因吧,还没搞明白,可以试试注册 S3 MinIO 服务 D:\server\minio>mc version enable local/images mc: <ERROR> Unable to enable versioning. A header you provided implies functionality that is not implemented.
注意:如果存储桶没有启用 S3 版本控制,执行上面命令将抛出“mc: <ERROR> Undo command works only with S3 versioned-enabled buckets.”错误。
(2)撤消对前缀下所有对象的最后一次上传/删除更改
C:\> mc undo --recursive --force s3/backups/prefix/