仕Lewis的技术专栏

一直想在linux下使用文件同步,但苦于没有合适的客户端工具,本来金山快盘挺好的,,可貌似没有Linux客户端。最近觉得百度的bcs云存储不错,还提供了python sdk,只要稍微写成脚本,在命令行下同步文件还是非常方便的。

1、在百度官方下载python sdk(地址)

或者用wget -c

2、安装:python setup.py install(如果上传大文件,则需安装pycurl)

sudo apt-get install python-pycurl

3、学习官方example.py文件

#!/usr/bin/env python#coding:utf8import osimport loggingimport pybcs #设置日志级别pybcs.init_logging(logging.INFO)# 请修改这里AK = ''#请改为你的AKSK = '' #请改为你的SKBUCKET='' #填写bucket名bcs = pybcs.BCS('', AK, SK, pybcs.HttplibHTTPC) #这里可以显式选择使用的HttpClient, 可以是:#HttplibHTTPC#PyCurlHTTPClst = bcs.list_buckets()print '—————- list of bucket : 'for b in lst:print bprint '—————- list end'#声明一个bucketb = bcs.bucket(BUCKET)#创建bucket (创建后需要在yun.baidu.com 手动调整quota, 否则无法上传下载)#我试了下,貌似不需要调整什么quota#b.create()#获取bucket acl, 内容是jsonprint b.get_acl()['body']#将bucket 设置为公有可读写#b.make_public()#声明一个objecto = b.object('/a.jpg') # a.jpg是云上的文件名称o.put_file('a.jpg')<span style="white-space:pre"></span># 这个a.jpg是本地名称,上传给云上的a.jpg,一般要保证扩展名一致,否则容易乱码o.get_to_file('b.jpg') #b.jpg是下载到本地的文件名#在bcs 上删除.#o.delete()在tools/bcsh.py中,有更方便的操作,以后操作文件就可以用它了。

bcsh.py用法

1、配置AK,SK

用bcsh.py auth -h就知道怎么做了。在~/.bcsh下生成文件可手动更改host,ak,sk

ak,sk可以用linux下的xxd,base64,md5sum,openssl等加密工具加密

2、开始执行bcsh.py

目前支持的子命令有ls,upload,download,rm,cat

参考网址

?p=975

API文档:

百度PCS教程:(说实话,有点乱,BCS,PCS)

人的不幸缘于欲望,所以知足者长乐。

仕Lewis的技术专栏

相关文章:

你感兴趣的文章:

标签云: