使用S3cmd还原及迁移S3 Glacier的数据

2021-07-05  本文已影响0人  懒猫睡醒了

一、安装s3cmd

1.1 Linux for CentOS:
安装命令如下所示:
yum -y install python-pip
pip install s3cmd
1.2 Linux for Debian/Ubuntu

    wget-O- -q [http://s3tools.org/repo/deb-all/stable/s3tools.key](http://s3tools.org/repo/deb-all/stable/s3tools.key) | sudo apt-key add -
    wget-O/etc/apt/sources.list.d/s3tools.list [http://s3tools.org/repo/deb-        all/stable/s3tools.list](http://s3tools.org/repo/deb-all/stable/s3tools.list)
    apt-get update && sudo apt-get install s3cmd

二、使用方法
2.1 配置,AK/SK
S3cmd configure
2.2 使用方法
2.1.1 List 所有buckets
s3cmd ls
2.1.2 创建bucket,存储桶名字唯一
S3cmd mb s3://xxx-bucket-name
2.1.3 删除空bucket
S3cmd rb s3://xxx-bucket-name
2.1.4 上传文件到指定的存储桶
S3cmd put xxx.txt s3://xxx-bucket-name
2.1.5 上传文件并设置所有人可读
S3cmd put --acl-public xxx.txt s3://xxx-bucket-name
2.1.6 批量上传文件
S3cmd put ./* s3://xxx-bucket-name
2.1.7 下载文件
S3cmd get s3://xxx-bucket-name/xxx.txt xxx.txt
S3cmd get s3://xxx-bucket-name/xxx.txt ./folder/xxx.txt
2.1.8 批量下载文件
S3cmd get s3://xxx-bucket-name/* ./folder/
2.1.9 删除文件
S3cmd del s3://xxx-bucket-name/xxx.txt
2.1.10 获取对应bucket所占用的空间大小
S3cmd du -H s3://xxx-bucket-name

三、同步方法
3.1 常规操作
3.1.1 同步当前目录下所有文件
S3cmd sync ./ s3://xxx-bucket-name
3.1.2 加‘--dry-run’参数后,仅列出需要同步的项目,不实际进行同步
S3cmd sync --dry-run ./ s3://xxx-bucket-name
3.1.3 加‘--delete-removed’参数后,会删除本地不存在的文件
S3cmd sync --delete-removed ./ s3://xxx-bucket-name
3.1.4 加‘--skip-existing’参数后,不进行MD5校验,直接跳过本地已存在的文件。
S3cmd sync --skip-existing ./ s3://xxx-bucket-name

  3.2 高级同步操作
  3.2.1 排除、包含规则(--exclude、--include)
    aaa-1.txt被排除、bbb-1.txt同样是txt格式却能被包含
    s3cmd sync --dry-run --exclude 'aaa-1.txt' --include 'dir2/bbb-1.txt' ./  s3://my-bucket-name/
  3.2.2 从文件中载入排除或包含的规则
    S3cmd sync --exclude-from demo.exclude ./ s3://my-bucket-name/
          demo.exclude文件内容
              *.jpg
              *.gif

  3.2.3 排除或包含规则支持正则表达式
    --rexclude\--rinclude\--rexclude-from\--rinclude-from

  3.3 恢复 S3 Glacier的数据
  3.3.1 数据还原恢复
    s3cmd restore --restore-days=7 --recursive s3://my-bucket-name/
  3.3.2 同步已恢复的数据
    aws s3 sync s3://mhusy-work-bucket s3://myhus3 --storage-class=STANDARD --force-glacier-transfer
上一篇下一篇

猜你喜欢

热点阅读