阿里云(一)云存储OSS的命令行osscmd的安装和使用

时间:2024-02-29 15:34:54

一、安装Python

在Linux Shell里验证Python版本:

$ python -V
Python 2.7.10

二、安装OSScmd SDK

osscmd是基于python 2.5.4(其他版本没有试过),用来操作OSS的,可使用命令行来上传和下载文件

1、下载https://help.aliyun.com/document_detail/32171.html?spm=5176.doc32184.2.3.uHGWpP

wget https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/internal/oss/0.0.4/assets/sdk/OSS_Python_API_20160419.zip

2、解压

unzip OSS_Python_API_20160419.zip (或者直接解压到指定的目录:unzip OSS_Python_API_20160419.zip -d OSSCMD)

3、查看解压的目录,应该有如下结果:

4、安装

SDK 已经解压缩到Linux 平台的OSSCMD 目录,下来进行安装:sudo python setup.py install

5、确认生效在任意目录敲击osscmd能出现如下内容就表示生效了

你可能会说,我的怎么是显示:osscmd: command not found,那你就做一个软连接就可以了,链接如下所示:

www@tinywan:~/OSSCMD$ ls
123.txt  build  oss  osscmd  OSS_Python_SDK.pdf  README  setup.py  tinywan.txt
www@tinywan:~/OSSCMD$ sudo ln -s `pwd`/osscmd /usr/local/bin/osscmd

注意:做过软连接后,在任意目录既可以使用osscmd命令了

三、配置文件

 osscmd config --host=oss-cn-shanghai.aliyuncs.com --id={access key} --key={key secret} 

个人配置:osscmd config --host=oss-cn-shanghai.aliyuncs.com --id=LTAInXgGPKq5zXsz --key=rHrkBmXUPZThZLKvprf74vYCKp 

四、使用示例

1、查看所有文件:osscmd ls oss://tinywan01/

2、下载文件(这里下载到当前文件夹下)osscmd get oss://tinywan01/Images/56ca8f140001757f06560312.jpg ./Go123.jpg

 3、shell脚本使用osscmd命令

编写文件test_osscmd.sh

tinywan@tinywan:~/ffmpeg$ cat test_osscmd.sh 
#!/bin/bash
echo "-----start-------"
osscmd get oss://tinywan01/Images/56ca8f140001757f06560312.jpg /home/tinywan/ffmpeg/ffmpeg001.jpg 
echo "-----end---------"

赋予权限开始运行:chmod +x test_osscmd.sh

以上可以看出下载成功了ffmpeg001.jpg文件,以上可以看出有命令执行的标准输出,这个直接放到无底洞就可以了,指定命令行末尾添加  >/dev/null 2>/dev/null,添加后:

#!/bin/bash
echo "-----start-------"
osscmd get oss://tinywan01/Images/56ca8f140001757f06560312.jpg /home/tinywan/ffmpeg/ffmpeg002.jpg >/dev/null 2>/dev/null 
echo "-----end---------"

再次执行效果,没有任何的输出,文件照样下载了

4、上传文件

$ osscmd put mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz oss://tinywan/
100%
Object URL is: http://tinywan.oss-cn-beijing-internal.aliyuncs.com/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
Object abstract path is: oss://tinywan/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
ETag is "1DAA30A32B99A92062F481BD3EF8694C"
26.345(s) elapsed

说明:下载官方的MySQL在本地很忙,索性直接使用阿里云主机下载很快,下载下来直接使用osscmd上传到oss。然后再从oss下载到本地,我就是这么干的

五、验证SDK是否安装成功

在Linux shell 或者Windows cmd 输入python 并回车,进入python 的环境后,输入import oss,没有安装成功则会出现如下错误信息:

没有安装成功则会出现如下错误信息:

>>> import oss
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named oss
>>>

安装成功后不会报异常,如下:

>>> import oss
>>> 

六、osscmd 命令说明

七、遇到的错误:

get miss parameters

直接输入:osscmd get oss://tinywan01/test_/57b14070dc4fe.png 会提示错误的,原因很简单,就是参数不够的,没有指定保存文件

错误的方式:osscmd get oss://tinywan01/test_/57b14070dc4fe.png 

正确的方式:osscmd get oss://tinywan01/test_/57b14070dc4fe.png ./123.png

 

参考文件

1、https://helpcdn.aliyun.com/document_detail/32184.html?spm=5176.doc32171.2.3.36HdbR

2、阿里云 云存储OSS的命令行使用:http://blog.csdn.net/chuchus/article/details/52995755

3、https://developer.aliyun.com/ask/146800?spm=a2c6h.13524658