七牛的特性

一般的云盘是双向数据同步空间服务,如何解释呢?举个例子

百度云、微云、360网盘、dropbox 等就是使用双向数据同步空间服务

你在本地增加一个 cnfeat.txt 文件

同步之后,云盘多了一个 cnfeat.txt 文件

你在本地删除一个 cnfeat.txt 文件

同步之后,云盘少了一个 cnfeat.txt 文件

七牛云 不同于以上的 云盘,它是 单向数据同步服务

何为 单向数据同步服务? 简单地来说,你可以想像 七牛云空间 就像是你私人邮箱,你将本地文件发送到你的邮箱,七牛云有了副本,就算本地的文件删除了,七牛云上的文件依然存在,除非你登陆七牛删除。

你在本地增加一个 cnfeat.txt 文件

同步之后,七牛云多了一个 cnfeat.txt 文件

你在本地删除一个 cnfeat.txt 文件

同步之后,七牛云的 cnfeat.txt 文件依然还在!

准备

本地目录,存放所有相关文件

➜ 7niu pwd

/Users/chao/7niu

其中,新建sync文件用于在本地存放资源,目录/home/your/sync_dir

七牛云空间,创建一个空间,空间名后面会用到

命令行上传

获取命令行上传工具

qrsync 是一个根据七牛云存储API实现的简易命令行辅助上传同步工具,支持断点续上传,增量同步,它可将用户本地的某目录的文件同步到七牛云存储中,同步或上传几百GB甚至上TB的文件毫无鸭梨。

在qrsync 命令行上传同步工具页面,选择相应的系统,下载qrsync 命令行辅助同步工具,解压压缩包,只用到里面的qrsync文件,放在准备好的目录/Users/chao/7niu下

准备配置文件

用于qrsync读取信息,例如,上传时的认证、本地待同步的文件夹、上传到的七牛空间名

在/Users/chao/7niu中创建一个后缀为.json的配置文件,名称随意,内容如下:

以下是最简单的必填内容实例:

{

"src": "/home/your/sync_dir",

"dest":"qiniu:access_key=&secret_key=&bucket=",

"debug_level": 1

}

src是本地存放资源的目录,我是直接在/Users/chao/7niu下创建一个目录存放待上传的资源

和的获取:登录后,点击右上角账号,选择左侧密钥,在右侧可以看到,直接复制过来

就是之前创建的空间名称

填好后的内容如下(用实际值替换和里面的内容):

{

"src": "/Users/chao/7niu/sync",

"dest":"qiniu:access_key=my_access_key&secret_key=my_secret_key&bucket=my_space_name",

"debug_level": 1

}

更多选项见官网说明

放一些文件进去,可以直接在sync中创建文件夹,用于分类,上传时会自动将文件夹名添加到文件名中作为前缀

上传本地指定目录中的资源

在/Users/chao/7niu目录下,运行:

./qrsync conf.json

需要注意,在七牛的空间中,是没有目录的概念的,上传到七牛空间的文件,文件名中可以包含斜杠/,让你感觉像目录结构(比如:a/b/c/d.txt),但它只是看起来像 a 目录下的 b 目录下的 c 目录下的文件 d.txt。实际上,七牛的服务器端是不存在 a、b、c这三个目录的,也没法创建目录。

通过 url 访问文件

通过文件的URL访问:

登陆,选择空间,右上角空间设置,左侧域名设置,可以看到域名

域名/文件名就是文件的 URL,根据上面对七牛文件名的说明,目录包含在文件名中

通过 url 访问空间

直接访问空间的域名会报错

{"error":"Document not found"}

有两个步骤需要做:

因为空间的 html 页面默认是关闭的,需要进入空间,在空间设置的基本设置中开启IndexPage

开启功能后,空间中的index.html(或index.htm)文件将会作为默认首页进行展示。当然不能手动创建、编辑index.html文件,所以我们需要完成接下来的自动生成目录

自动生成目录

获取需要的文件

需要的文件:

footer-7niu.html

gen4idx.py

下载解压后,将上面的两个文件放入本地的资源目录/Users/chao/7niu/sync

自动生成index.html

在资源目录中,运行命令

python gen4idx.py ./ footer-7niu.html NULL

gen4idx.py是生成index.html的脚本

./是资源所在的目录,这里是指当前目录

footer-7niu.html是index.html的模板

NULL,这里表示空,可以指定不将哪些文件显示在页面

运行后,会在资源目录的每个文件夹下生成一个index.html文件

遇到的坑

一开始从qrsync 命令行同步工具下载同步工具,下载后的文件夹名称qiniu-devtools-darwin_amd64-v2.6.20131211,但使用了qrsync 命令行上传同步工具的conf.json内容格式。

结果运行报错:

➜ 7niu ./qrsync conf.json

Syncing failed: missing bucket, it must be specified in the configuration file.

后来统一使用qrsync 命令行上传同步工具这个页面下载的同步工具和conf.json内容格式,文件夹名称qiniu-devtools-darwin_amd64-v3.1.20151125.tar,同步成功

原因:conf.json内容的格式不同,所以读取方式不同,必须匹配

参考

七牛云html文件夹,七牛命令行上传自动生成目录相关推荐

  1. linux给百度网盘传文件夹,[转]Linux命令行上传文件到百度网盘

    安装软件工具:python apt-get install python-pip pipinstallrequests pipinstall bypy 受权登录:api 执行 bypy info,显示 ...

  2. Python监控目录文件夹,并使用SFTP上传目录及文件到linux服务器

    Python 扫描监控本地文件夹并进行超大文件上传 方案1:WebUploader大文件分块多线程并发上传 方案2:watchdog目录文件夹监控,paramiko STFP上传服务器 方案3:优化2 ...

  3. XP下,文件夹添加右键命令行

    原文:XP下,文件夹添加右键命令行 总共有3种方式: --------------------1---------------------------------------------------- ...

  4. MobaXterm连接远程服务器,使用Linux命令行上传下载文件

    文章目录 一.MobaXterm连接远程服务器 二.Linux命令行上传和下载文件 三.服务器挂载U盘传输文件 四..ipynb文件转化为.py文件 五.关闭本地电脑,服务器运行python 项目 问 ...

  5. hdfs dfs -put_通过HDFS中的`hdfs dfs -put`命令行上传文件时,如何设置一个文件的复制因子?...

    hdfs dfs -put When uploading a file by the hdfs dfs -put command line in HDFS, how to set a replicat ...

  6. 如何用git命令行上传本地代码到github

    如何用git命令行上传本地代码到github 2016年09月19日 16:10:36 阅读数:9337 注意:安装的前提条件是配置好git的相关环境或者安装好git.exe,此处不再重点提及 上传的 ...

  7. Linux服务器命令行上传数据到百度云盘

    参考: https://www.jianshu.com/p/11f071e1f7fe https://www.jianshu.com/p/dc7e86b171cb 每次想把服务器上的数据上传到百度云盘 ...

  8. 如何使用git命令行上传项目到github

    参考文献: 如何使用git命令行上传项目到github 感谢楼主分享!

  9. 码云上传本地文件夹,码云只能上传20个文件的突破方法

    码云官方地址:https://gitee.com/ 很多人不知道码云上传本地文件夹怎么操作,或者如何突破码云只能上传20个文件限制的问题,今天就来说说这事的方法吧. 简介: 码云是媲美GitHub的代 ...

  10. 码云上传文件夹_码云上传本地文件夹,码云只能上传20个文件的突破方法

    码云官方地址:https://gitee.com/ 很多人不知道码云上传本地文件夹怎么操作,或者如何突破码云只能上传20个文件限制的问题,今天就来说说这事的方法吧. 简介: 码云是媲美GitHub的代 ...

最新文章

  1. windows下nginx安装、配置与使用
  2. CSS---网络编程
  3. C++基本概念复习之二:多重继承、虚继承、纯虚函数(抽象类)
  4. 对话MathWorks:解读MATLAB技术生态圈与未来趋势
  5. 依赖注入底层反射原理_PHP基于反射机制实现自动依赖注入的方法详解_php技巧...
  6. 【tool】关于oracle数据库的安装与使用
  7. 地铁 java_怎么用Java编写一个地铁售票机的程序?
  8. hdu 1861 游船出租 tag:模拟
  9. 虚拟桌面之往事如风 --读书篇
  10. 新胖子公式 (10 分)
  11. mysql与oracle存储过程_5分钟学会oracle与mysql存储过程insertinto
  12. android windows 虚拟机下载,windows10虚拟机安卓版
  13. 最新web打印控件 破解版 下载地址
  14. Cisco思科交换机Vlan划分
  15. 激光能类毕业论文文献都有哪些?
  16. 关于混合app 开发框架Ionic
  17. 用idea使用struts和hibernate来实现CRUB的操作
  18. 利用python进行数据分析~基金分析
  19. mac 桌面显示服务器,隐藏 Mac 桌面内容的三种方法 | 一日一技 · Mac
  20. Todd.log - a place to keep my thoughts on programming TF-IDF模型的概率解释

热门文章

  1. 即时通讯IM技术领域基础篇
  2. Java小项目之拼图游戏
  3. Recoil 的使用
  4. pip 安装包成功 但是import 失败
  5. android手机图标 足球球星,C罗梅西最抢眼 足球巨星们都用什么手机
  6. python中sklearn.datasets.make_blobs()函数用法
  7. 周围剃光头顶留长发型_四周都剃光,头顶留在发的那叫什么发型
  8. Ubuntu18.04安装carla0.9.9 UE4.24踩坑版
  9. 配置Snappy压缩
  10. vue开发企业微信应用-开发必读