awscli 同步s3不同bucket的文件

安装

pip install awscli --upgrade --user 

如果实在安装不了,就在virtualenv下安装
安装后执行aws --version确认
参考:https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-linux.html

配置

 aws configure

根据提示输入,最后一项output format可以输入output – output format (json, text, or table)
配置文件目录在/root/.aws

# 输入bucket列表
aws s3 ls
# 递归输出bucket下的文件列表
aws s3 ls --recursive s3://gztest.nmg
# 上传本地图片到bucket
 aws s3 cp a.jpg s3://your_bucket --storage-class REDUCED_REDUNDANCY
 aws s3 cp a.jpg s3://your_bucket/content-farm --storage-class REDUCED_REDUNDANCY
# 删除文件
aws s3 rm s3://your_bucket/a.jpg
# 删除bucket
aws s3 rb s3://bucket-name --force
#  上传本地文件到S3
aws s3 cp MyFolder s3://bucket-name -- recursive [--region us-west-2]
# 跨区域同步S3
aws s3 sync s3://oldbucket s3://newbucket --source-region us-west-1 --region us-west-2
# 删除目录,递归。排除XX文件
aws s3 sync s3://my-bucket/path . --delete --exclude './MyFile2.rtf'
# 新建profile 根据提示输入。生成的profile会保存在/root/.aws下的config和credentials文件中
 aws configure --profile "lohas"
# 使用profile
aws s3 ls s3://origin-images.lohas.news --profile lohas
# 使用profile 配置上传
aws s3 cp a.jpg s3://origin-images.lohas.news --storage-class REDUCED_REDUNDANCY --profile lohas
# 下载
aws s3 sync s3://mybucket/ . --exclude "*another/*"
# 同步bucket
 aws s3 sync s3://your_bucket/content-farm s3://origin-images.lohas.news/your_token/content-farm
# 同步一个目录。使用的是目标bucket的profile  默认会跳过重复名称的文件
aws s3 sync s3://your_bucket/content-farm/ s3://your_bucket/content-farm/ --profile lohas
# 复制一个文件 使用的是目标bucket的profile
aws s3 cp s3://your_bucket/content-farm/a.jpg s3://your_bucket/content-farm/a.jpg --profile lohas

# 策略 policy demo
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::your_bucket",
                "arn:aws:s3:::your_bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::xxxx:user/epstest"
            },
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::your_bucket",
                "arn:aws:s3:::your_bucket/*"
            ]
        }
    ]
}
# 查看role-name。不过不一定有权限
aws iam get-role -–role-name ROLE-NAME
# 查看username
 aws iam get-user --user-name USER-NAME

参考:https://aws.amazon.com/cn/premiumsupport/knowledge-center/account-transfer-s3/?nc1=h_ls

https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html#examples

https://cloudacademy.com/blog/aws-cli-10-useful-commands/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值