概述
S3是亚马逊AWS提供的简单存储服务(可以理解为有公网域名的大容量高可用存储)
S3配合CloudFront服务可作为CDN使用,它提供多节点全球发布
安装
方法一:
yum install s3cmd
方法二:
yum install -y python-pip (python > version2.6)
pip install s3cmd
配置:
s3cmd --configure
#vim /root/.s3cfg
s3cmd相关指令
创建新Bucket:
s3cmd mb s3://mybucket
list当前bucket:
s3cmd ls
列出bucket中的文件:
s3cmd --recursive ls s3://mybucket2 #--recursive 递归列举
s3cmd --recursive ls s3://mybucket2/rgw
文件上传:
s3cmd put demo.xml s3://mybucket2/demo.xml
#上传目录
s3cmd put --recursive dir1 dir2 s3://mybucket2/dir1 #目标目录不用提前创建,上传时会自动创建
文件下载:
s3cmd get s3://mybucket2/demo.xml demo2.xml
#下载目录
s3cmd get --recursive s3://mybucket2/dir1
#带目录树下载
s3cmd get --recursive s3://mybucket2/dir1/*
删除:
s3cmd del s3://mybucket2/demo.xml
s3cmd del --recursive s3://mybucket2/dir1/ #整个目录树
删除bucket:
s3cmd rb s3://mybucket2 # bucket 必须为empty,否则需要带--force 强制删除
同步:
s3cmd sync ./ s3://mybucket2 #同步当前目录下所有文件
s3cmd sync --delete-removed ./ s3://mybucket2 # 会删除本地不存在的文件
s3cmd sync --skip-existing ./ s3://mybucket2 # 不进行MD5校验,直接跳过本地已存在的文件
高级同步操作
-
排除、包含规则(- -exclude 、- -include)
s3cmd sync --exclude '.doc' --include 'dir2/' ./ s3://mybucket2/
-
从文件中载入排除或包含规则。(- -exclude-from、- -include-from)
s3cmd sync --exclude-from exclude.txt ./ s3://mybucket2/
exclude.txt 文件内容:
#comments here
*.jpg
*.gif -
排除或包含规则支持正则表达式
--rexclude 、--rinclude、--rexclude-from、--rinclude-from