数据误删的批量修复实战(工具)
网站编辑2020-07-02 10:42:36685
数据误删的批量修复实战(工具) OSS 控制台提供了简单的单对象恢复能力,但是对于删除目录下的海量文件,效率就非常低下了,需要频繁的UI点击,修复速度太慢。因此 OSS 提供了 ossutil 工具,能够批量修复数据,提高修复效率。4.1 指定前缀批量修复

| $) ./ossutilmac64 ls oss://test-jsj-versioning/prefix/ --all-versions | grep -rn "true true oss://" | awk -F ' ' '{drcmd=("./ossutilmac64 rm " $10" --version-id "$7);print drcmd}' | sh |
4.2 指定时间批量修复

| ./ossutilmac64 ls oss://test-jsj-versioning/pre- --all-versions | awk '{(dtime=($1" "$2" "$3" "$4)); if ((dtime>="2020-06-16 16:55:05 +0800 CST") && (dtime<="2020-06-16 16:55:40 +0800 CST")) print}' | grep -rn "true true oss://" | awk -F ' ' '{drcmd=("./ossutilmac64 rm " $10" --version-id "$7);print drcmd}' | sh |
只需要删除匹配 时间范围 的删除标记,即可恢复对象。
4.3 指定修复列表文件批量修复

整个过程如上图,参考命令为:
| for i in cat file_list; do ./ossutilmac64 ls oss://test-jsj-versioning/$i --all-versions | grep -rn "true true oss://" | awk -F ' ' '{drcmd=("./ossutilmac64 rm " $10" --version-id "$7);print drcmd}' | sh; done |







