阿里云代理商-阿里云服务器-阿里云数据库-重庆典名科技

数据误删的批量修复实战(工具)

发布时间: 2020-07-02 10:42:36文章作者: 网站编辑阅读量: 381
  数据误删的批量修复实战(工具)      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
  
  其中,删除标记会显示 "true true",所以只需要删除匹配 前缀 的删除标记,即可恢复对象。
  
  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
  只需要遍历 修复列表文件,并删除对象的删除标记,即可恢复对象。

联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠