命令行下玩转阿里云OSS

1、第一步

下载并配置好osscmd
config --host=[oss.aliyuncs.com] --id=[accessid] --key=[accesskey]

2、批量上传文件

上传文件夹

find $dirname | sed 's/\.\///g' | xargs -I {} osscmd put {} oss://$bucket-name/{}

如果是上传当前目录将\$dirname 替换成"."
\$dirname 要上传文件名称, 当然要在这个目录上层运行此命令, 可以利用grep -v 过滤掉一些无需上传的文件, 当然osscmd也有上传文件夹功能

批量上传一批文件

cat filelist | xargs -I {} osscmd put {} oss://$bucket-name/$dirname/{}

filelist 文件名列表

3、 文件Size 统计

列出不同大小文件个数

osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}'  | sort | uniq -c

样例输出
1 0.00B
3 1011.50KB
1 115.23KB
1 1167.00B
1 11.96KB
1 12.08KB
3 12.84MB
1 1355.46KB
1 17.28MB
1 18.03MB
2 209.49KB

统计出OSS Bucket 文件夹不同大小级别文件个数 (B KB MB GB)

osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}' | rev | cut -c 1-2 | rev | sort | uniq -c | sed 's/0B/B/g'

样例输出
8 B
30 KB
10 MB

统计文件夹大小

osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}' | sed 's/MB/1024^2/g' | sed 's/GB/1024^3/g' | sed 's/KB/*1024/g' | tr -d 'B'  | tr '\n' '+' | awk '{print "("$1"0)"}'  | bc

算出来的结果是字节数,转换成其他单位需自行转换,如果结果有小数请不要奇怪

3、签名

给文件夹下所有文件进行签名

osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://"  | awk '{print $4}' | xargs -I {} osscmd sign {} 2> /dev/null | grep http

4、批量删除文件

osscmd  listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://"  | awk '{print $4}' | xargs -I {} osscmd rm {}

批量删除文件下下的所有文件,或者制定前缀的文件, 更多功能请见OSS的lifecycle功能
当然删除文件列表也是OK的

cat filelist | xargs -I {} osscmd rm {}
时间: 2024-10-01 06:36:27

命令行下玩转阿里云OSS的相关文章

Linux下将网站自动定时备份到阿里云OSS

一直以来,倡萌都过于依赖阿里云ECS的自动快照功能,的确,这个功能非常方便,也比较可靠,为我们备份网站提供了便利,所以在此前我都没有采用其他备份方式.昨天突然心血来潮,觉得应该给网站再进行备份,刚开始想备份到百度网盘,不过度娘的各种改版和功能下架,饶了一圈得到的是不再提供新建pcs api支持了,晕!好吧,网盘的各种不可靠啊,突然一想,那干脆就备份到阿里云OSS吧,反正自己用的阿里云服务器,走内网的话,速度很爽!   说干就干,但也没有什么经验啊,Google下,看到张戈朋友的文章<Python

命令行下也玩IPsec

在网络应用越来越广泛的今天,一个重要的问题就是有关计算机通信的安全性问题.作为网络系统管理员,一项基本职责就是保证数据在网络传输中,不能被未经授权的人访问.查看或修改,在这中间,同时要保证数据能加密传输.怎样做到这一点呢? Win2k网络中,我们可以通过IPSec来保护网络的安全.IPSec的全称是InternetProtocolSecurity,翻译成中文就是Internet协议安全.它的作用主要有两个:一个是保护IP数据包的内容,另外一点就是通过数据包筛选并实施受信任通讯来防御网络攻击.这对

阿里云OSS上保存备份文件操作过程

阿里云OSS(Object Storage Service)是对象存储服务,可制作静态网站或者存放大量图片后通过CDN来加速等用途.而我使用阿里云OSS的目的是通过内网把OSS挂载到Linux系统并把数据库及网站程序的备份存放到性价比非常好的阿里云OSS上. 创建Access Key 购买OSS资源包 创建Bucket 安装OSSFS 在这里简单介绍一下,安装OSSFS及在Linux系统下挂载OSS的方法. 环境 CentOS6.5 64位 安装OOSFS # wget ps://github.

Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例

之前从没接触过Yii,借助的各方资源来做的这个整合阿里云OSS的SDK上传图片实例,如果有不正之处请指出! 前面参照了weinirumo 的介绍,大家可以自行去查看. 好了,下面开始进入主题: 准备工作:需要使用composer执行命令,如果没有安装composer的需要提前安装,参考文档:composer安装流程 1.项目目录结构 我使用的是基础版,只有后台目录,请自行对照自己的项目目录结构,会用到以下的几个目录: 2.在项目根目录下运行cmd命令 3.执行composer命令 切换到中国国内

Laravel中使用阿里云OSS Composer包分享

 这篇文章主要介绍了Laravel中使用阿里云OSS Composer包分享,本文讲解其使用方法,文件下载请前往文件中的github地址,需要的朋友可以参考下     阿里云提供了基于命名空间的 V2 版 SDK,但是文档不是很完整,使用门槛比较高,于是我封装了一个 Composer 包:https://github.com/johnlui/AliyunOSS 安装 将以下内容增加到 composer.json: 代码如下: require: {   "johnlui/aliyun-oss&qu

开源备份工具duplicity支持阿里云OSS后端存储

duplicity简介 duplicity是一款开源的备份工具,使用librsync高效地支持增量备份,节约本地存储空间,同时使用GnuPG加密数据.duplicity能将数据轻松的备份到本地或远端文件共享存储,同时支持各类云存储. 不过官方版本并没有支持阿里云作为后端存储,最近用oss最新的Python SDK oss2支持了duplicity上传阿里云OSS,先实现了一个简单的版本,在本文附件中可以下载到集成了aliyunbackend的duplicity安装包. 适用场景 重要文档数据的打

Linux有问必答:如何在命令行下压缩JPEG图像

Linux有问必答:如何在命令行下压缩JPEG图像 问题: 我有许多数码照相机拍出来的照片.我想在上传到Dropbox之前,优化和压缩下JPEG图片.有没有什么简单的方法压缩JPEG图片并不损耗他们的质量? 如今拍照设备(如智能手机.数码相机)拍出来的图片分辨率越来越大.甚至3630万像素的Nikon D800已经冲入市场,并且这个趋势根本停不下来.如今的拍照设备不断地提高着照片分辨率,使得我们不得不压缩后,再上传到有储存限制.带宽限制的云. 事实上,这里有一个非常简单的方法压缩JPEG图像.一

利用nc 直观理解阿里云OSS 存储服务

1.本文要说什么 利用nc 直接与阿里云OSS服务器建立TCP 连接,通过输入HTTP 请求头部及数据与OSS进行交互,以此理解阿里云OSS服务的本质及使用阿里云OSS过程中的一些trouble shooting. 2.相关准备工作 一台连上互联网的Linux主机(如果没有可以购买一台阿里云ECS),注册并开通阿里云OSS服务(oss.aliyun.com)并创建一个bucket,本文以青岛的bucket:bucket-example(bucket-example.oss-cn-qingdao.

基于阿里的Node全栈之路(三)利用阿里云OSS实现前后端分离

嘿嘿,上篇文章因为在火车上写的,偷懒了,心存愧疚,还是补发一篇吧! 这次嘞,我们聊聊开发上老生常谈的话题,前后端分离.在文章第一篇里,我用了一张我的架构图,这里我把关于OSS的这部分抽出来. 可以看到这种图上,我的docker是只有restful api的作用,在web端应用,客户访问我的网站的时候,是跳转到OSS上的.没错,没错,在我这里,没有使用类似jsp.asp.ejs这些动态页面.先不说两者的优劣,我这里使用的方案,其实蛮有趣的,而且非常的高效实用!对于中型项目是完全行得通的,大型项目架