s3cmd 命令是能够操作 AWS S3 的十分弱小的工具,不仅能够下载和上传文件,还有创立目录等性能。
s3cmd 的应用场景是十分丰盛的,比方把本地的日志文件备份到 S3 时,就能够应用 s3cmd 和 cron 的组合,进行定期的备份。比方日志文件的保留期间是 365 地利,应用 s3cmd 从 S3 删除指定的目录等等。
在这里介绍一下利用 s3cmd 命令上传 / 下载文件的办法。
上传文件
上传指定的目录
把 /mnt/aws/backup 目录上传到 s3 上。
awsok.com 是 bucket 名称,aws/folder 能够当成 s3 上的目录名。
–r 也能够写成–recursive(递归),是指定 backup 目录下的包含子目录的所有文件的意思。
s3cmd put –r /mnt/aws/backup s3://awsok.com/aws/folder
上传指定的文件
把本地的 index.html 文件上传到 s3 的 aws/folder 目录下。
s3cmd put –r /mnt/aws/backup/index.html s3://awsok.com/aws/folder
上传文件时默认是非公开的,可明确的指定非公开选项–acl-private。
公开时应用–acl-public 选项。
下载文件
下载指定的目录
把 folder 目录下的所有文件下载到本地的 /tmp 目录下。
s3cmd get -r s3://awsok.com/aws/folder /tmp
下载指定的文件
把 folder 目录下的 index.html 文件下载到本地的 /tmp 目录下。
s3cmd get s3://awsok.com/aws/folder/index.html /tmp
删除文件
删除指定的目录
从 s3 上删除 folder 目录。
s3cmd del -r s3://awsok.com/aws/folder
删除指定的文件
从 s3 的 aws/folder 目录下的 index.html 文件。
s3cmd del s3://awsok.com/aws/folder/index.html
参考链接:
3 Ways to List all the files in an AWS S3 bucket