美文网首页
七牛笔记(更新中…)

七牛笔记(更新中…)

作者: 苏尚君 | 来源:发表于2016-04-15 00:51 被阅读76次

因为需要图床,懒得选择,看了同事博客,发现这图床可以满足要求(容量还行、可以命令行同步等),就先用着吧。

好早前就注册了,但因为认证为标准用户需要拿着身份证拍照,就懒得动了。如今,只要有支付宝账号,即可完成实名认证过程(注:个人实名认证时的「个人网址」随便填即可,例如你的微博/知乎等主页网址都行

下载与安装

官网手册 中提到的地址下载对应自己操作系统的版本即可

对 *nix 系统,可 [Shift] + [Command] + G 打开 /usr/local/bin/,将解压出的 3 个文件拖入该目录下。这样以后就可以直接在命令行中调取它们了。[1]

命令行上传

1. 首先撰写官网手册 中提到的 conf.json 文件

各字段如此获取:

  • access_keysecret_key:在新版的「个人面板」->「密钥管理」,旧版的「账户」->「密钥」中
  • bucket:指定上传空间名
  • sync_dir:本地要上传的目录,绝对路径形式
  • async_ops:上传预转参数。若上传音视频需要转码可用该参数,否则保留空即 "" 即可
  • debug_level:默认即可

注1:官网手册有点旧,未更新,特别是access_keysecret_key字段如何获取,仍为旧链接;
注2:如上各字段均,除了最后的debug_level为数字,其余均为字符串,应包含于英文双引号内

2. 命令行执行 qrsync /<your conf.json path>/conf.json 即可完成同步

3. 如何更新文件

文件夹下每一个文件 filename.file

七牛在本地是用一个以 .log 为后缀名的文件记录同步进程的,本地每个独立的同步文件夹<path>均对应本地一个 .log 记录,<path>下的任一文件 filename.file 在首次同步时都将在该 <path> 对应的 .log 文件中生成一条记录;每次执行 qrsync 时,在正式向云端推送前都会由 qrsync 自动检查该 .log 文件中是否存在 filename.file 的记录。只要记录中已经有文件 <path>/filename.file 的同步记录,那么文件 filename.file 便不会被推送到云端。

这种设计在某种程度上避免了重复上传,但为希望向云端推送文件最近更新的用户造成了一个问题:

qrsync 只检索 .logfilename.file 的记录,而没有用其他字段检查其内容是否有所变动;当用户更新了该文件后,执行同步功能时,文件不会被同步上传,从而云端的文件无法保持在最新的状态。

解决这个问题的思路很简单:

只要删除 filename.file<path> 对应的 .log 文件中的记录即可

这样,qrsync 将认为 <path>/filename.file 未被推送过,从而会将其推送到云端;发生文件名冲突时,将直接用最新的文件替换掉云端的旧文件。

步骤也很简单:

  1. 假设待同步文件夹为 <path>,用户希望更新 <path>/filename.fileCONF_path.json 是文件夹 <path> 对应的同步脚本
  2. 每次执行 qrsync CONF_path.json 时,系统会显示 3 部分提示内容:Syncing ..../Progress file: .../Sync done!,记录 Progress file:后对应的那个 .log 对应的路径(例如:/Users/shangjunsu/.qrsync/abcdefg.log
  3. 编辑上述路径下的 .log 文件,删除其中 filename.file 对应的记录
  4. 执行 qrsync CONF_path.json,待同步完毕即可

命令行下载[2][3]

  1. 首先根据官方手册提示,GitHub 上下载 qshell
  2. 如果是 Mac 用户,选择 qshell_darwin_386qshell_darwin_amd64,改名为 qshell,输入 [Shift] + [Command] + G 打开 /usr/local/bin/,把它复制到该文件夹下[1]
  3. 创建一个 python 脚本如下:[4]
    qshell account <access_key> <secret_key>` # 这两个字段同上述方法取得
    qshell listbucket <bucket> <bucket>.list.txt # 获取名为 <bucket> 的空间内文件列表
    
    

参考资料


  1. 如何使用七牛云做为图床?

  2. qshell 命令行工具

  3. qshell

  4. qshell wiki - listbucket

相关文章

  • 七牛笔记(更新中…)

    因为需要图床,懒得选择,看了同事博客,发现这图床可以满足要求(容量还行、可以命令行同步等),就先用着吧。 好早前就...

  • Mysql学习笔记

    Mysql学习笔记(七) 事务(Transaction) (1)事务 (1)是访问并可能更新数据库中各种数据项的一...

  • 今天写什么?

    今天是简书日更的第七天,这七天中更新的大部分都是读书笔记。 其实也不能算是读书笔记,顶多算……摘录。 当把阅读作为...

  • 高效能—不断更新

    《高效能家庭的7个习惯》 史蒂芬·柯维 29个笔记 习惯七 不断更新 >> 习惯七不断更新 >> 通过传统重建家...

  • osX10.12找不到NEProviderTargetTempl

    我上传了,随便下载。 下载地址-冻结中 --更新--上面的七牛云域名冻结了,说实话真的难用 百度网盘 提取码: ...

  • springboot+jpa+redis+quzartz+ela

    图片上传 图片存储在七牛云对象存储中,所以首先配置七牛云sdk pom.xml application.yml 七...

  • 淘客基地:拾牛IOS版更新至1.0.5版本

    拾牛IOS版更新至1.0.5版本 主要更新:修复商品详情页打不开问题。在APP store中,底部导航栏“更新”中...

  • 七牛云图床测试域名回收解决方案

    很久没有更新博客了,本来想上去看看之前写的一写笔记,发现我之前使用七牛图床存的所有图都不能正常显示了。然后去网上查...

  • 一小时学会使用七牛云存储图片

    在这篇文章中你可以学会如何使用七牛云存储(10G以下免费!!!) 注册七牛云账号 首先先去七牛云官方注册一个账号—...

  • 七牛上传图片实践

    最近用到七牛上传视频和图片的功能,于是去七牛官网看了文档,写了一个上传文件到七牛的demo,顺便将写的过程中踩的一...

网友评论

      本文标题:七牛笔记(更新中…)

      本文链接:https://www.haomeiwen.com/subject/paoglttx.html