我要系列|如何优雅地使用七牛云?

random picture from unsplash.com

本博客的图片,大都是存在七牛云,甚至连 「朋友的捎带」电台 也是如此。为什么这么喜欢用,是因为真的很方便,同时还有免费的 10 G,非常适合新手玩家。但重要的是,我们如何优雅地使用 七牛云

一切自动化

Mac 电脑用户值得一学,因为适用 Linux。

这里要提到一个工具:qrsync

qrsync支持断点续上传,增量同步,它可将用户本地的某目录的文件同步到七牛云存储中,同步或上传几百GB甚至上TB的文件毫无鸭梨。

文件下载

1
2
3
4
5
mkdir qrsync              ### 创建qrsync目录
cd qrsync ### 进入qrsync目录
wget http://devtools.qiniu.com/qiniu-devtools-linux_amd64-current.tar.gz ### 下载qrsync 64位
wget http://devtools.qiniu.com/qiniu-devtools-linux_386-current.tar.gz ### 这是32位,请根据系统选择下载
tar -zxvf qiniu-devtools-linux_amd64-current.tar.gz ### 解压软件

创建配置文件

qrsync读取一段JSON数据作为配置文件,如果您做过开发,那么看懂下面的JSON配置文件并不困难:

1
vi config.json     ### 创建配置文件

将下面的内容复制到config.json文件中,其中参数请自行修改,下面有说明。

1
2
3
4
5
{
"src": "/home/your/sync_dir",
"dest": "qiniu:access_key=<AccessKey>&secret_key=<SecretKey>&bucket=<Bucket>&...",
"debug_level": 1
}

src:本地源目录路径,比如上面的配置文件中/home/your/sync_dir就是需要上传的目录。
AccessKeySecretKey:当您注册七牛云存储账号后拥有一个独一无二的AccessKeySecretKey,可以在个人面板 -> 密钥管理查看。
debug_level:若 debug_level 设置为1则获取必要日志,设置0可以得到详细日志。
下面是本博客的一段 JSON 配置文件,大意是将/home/test这个文件夹里面的内容全部上传到七牛空间:davidfnck

1
2
3
4
5
{
"src": "/home/test",
"dest": "qiniu:access_key=<AccessKey>&secret_key=<SecretKey>&bucket=davidfnck",
"debug_level": 1
}

开始上传

在命令行里面操作。

1
2
touch /home/test/abc.txt        ### 创建一个abc.txt测试文件
./qrsync config.json ### 运行qrsync,进行上传文件

上传成功会看到Sync done!的提示,然后我们登录七牛云存储后台,找到xzbk这个空间,看到abc.txt文件已经成功上传。

总结

已经成功完成七牛实名认证的用户拥有免费 10G 空间和 10G 流量,来试试 七牛云吧。利用qrsync工具备份VPS数据是个非常不错的选择,并且七牛云存储的上传和下载速度都是非常满意的,大家不妨一试。
这篇文件仅分享了 linux 客户端的使用,qrsync 也是支持 windows 客户端的,更多的说明和支持请参考官方文档: qrsync 命令行上传同步工具

不看不知道

写到这儿,一看七牛云的文档,qrsync 不维护了。都换成了 qshell,来跟大家再讲讲 qshell。

本来以为能用 qrsync 凑合着,结果今天就崩溃了,赶紧把 qshell 设置起来,给大家分享一下:

qshell 是什么?

qshell 是基于七牛 API 参考手册实现的一个方便开发者测试和使用七牛 API 服务的命令行工具。

qshell 由七牛官方发布,可在 七牛官网下载,最新版本是2.0.0

qshell文档:https://github.com/qiniu/qshell

安装 qshell

  1. 创建一个文件夹,进入文件夹

    1
    2
    3
    mkdir /var/test/
    mkdir /var/test/qiniu
    cd /var/test/qiniu
  2. 下载 qshell,解压缩

    1
    2
    wget http://devtools.qiniu.com/qshell-v1.8.2.zip
    unzip qshell-v1.8.2.zip
  3. 根据系统平台选择文件

因为上面发布的 zip 包里面有支持不同平台的可执行文件,请根据系统平台选择合适的可执行文件,然后其他的都可以删除,再把可执行文件重命名为 qshell。

比如 Mac 系统:

1
mv qshell_darwin_amd64 qshell

文件名对应系统:

1
2
3
4
5
6
7
qshell_linux_386	Linux 32位系统
qshell_linux_amd64 Linux 64位系统
qshell_linux_arm Linux ARM CPU
qshell_windows_386.exe Windows 32位系统
qshell_windows_amd64.exe Windows 64位系统
qshell_darwin_386 Mac 32位系统,这种系统很老了
qshell_darwin_amd64 Mac 64位系统,主流的系统

  • 权限 如果在Linux或者Mac系统上遇到Permission Denied的错误,请使用命令chmod +x qshell来为文件添加可执行权限。这里的qshell是上面文件重命名之后的简写。
  • 任何位置运行 对于 Linux 或者 Mac ,如果希望能够在任何位置都可以执行,那么可以把 qshell 所在的目录加入到环境变量 $PATH 中去。假设 qshell 命令被解压到路径 /Users/yourname/filename 目录下面,那么我们可以把如下的命令写入到你所使用的 bash 所对应的配置文件中,如果是 /bin/bash,那么就是 ~/.bashrc 文件,如果是 /bin/zsh ,那么就是 ~/.zshrc 文件中。写入的内容为:
    1
    export PATH=$PATH:/home/jemy/tools

保存完毕之后,可以通过两种方式立即生效,其一为输入source ~/.zshrc或者source ~/.bashrc来使配置立即生效,或者完全关闭命令行,然后重新打开一个即可,接下来就可以在任何位置使用qshell命令了。

  1. 设置账号密码和机房区域
1
./qshell account <Your AccessKey> <Your SecretKey> <Zone>

其中为七牛账号所在的机房,可选值为nb,bc,na0,默认为nb

各机房对应的zone值:

1
2
3
4
华东	nb
华北 bc
华南 hn
北美 na0

将备份文件上传至七牛云

  1. 创建配置文件

将以下内容保存为backup2qiniu.txt,放在 /Users/yourname/filename/ 下

1
2
3
4
5
6
7
8
9
{
"src_dir" : "/var/test/backup/archives",
"access_key" : "<Your AccessKey>",
"secret_key" : "<Your SecretKey>",
"bucket" : "<Bucket>",
"zone" : "<Zone>",
"rescan_local" : true,
"skip_path_prefixes" : ".qshell"
}
  1. 备份操作

如果你已经设置全局的 qshell 命令,则如下:

1
qshell qupload 100 /Users/yourname/filename/backup2qiniu.txt

其中100为并发上传的协程数量,可按实际情况修改

不满是向上的车轮

「懒是第一生产力」说这话的人是我。

你要是试过qrsync,一定会很爽,后来七牛云不维护了,我就换了qshell,但是总感觉不舒服,兴许也是我没学好,反正弃用了好久,今天又返回来,继续研究,看看怎么弄,竟然遇到了qrsbox,跨平台支持 windows 图形化、mac/linux 命令行,支持配置文件、大文件上传、增量更新、后台文件监控等,详细介绍请参考:http://developer.qiniu.com/docs/v6/tools/qrsbox.html。

以 mac 为例:

  1. 首先下载qrsboxcli-v3.1.20160725,修改成qrsboxcli,把文件移动到~/里面,通常就是在你的用户名的文件夹;
  2. 选择一个目录文件夹,作为同步目录,里面存放想要上传的文件即可,比如有个abc.txt;
  3. ./qrsboxcli init <AccessKey> <SecretKey> <~/need/to/syncdir> <Bucket>

其中,AccessKey 和 SecretKey 需要在七牛开发者平台上申请。步骤如下:

+ 开通七牛开发者帐号
+ 登录七牛开发者平台,查看 Access Key 和 Secret Key
  1. 这里有个问题,如果提示zsh: Permission denied,执行一下chmod +x qrsboxcli
  2. 使用./qrsboxcli可以看到以下内容:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Usage:
    qrsboxcli init <AccessKey> <SecretKey> <SyncDir> <Bucket> - Init qrsbox conf
    qrsboxcli sync & - Watch <SyncDir> and sync files
    qrsboxcli status [<Path>] - View path status
    qrsboxcli log - View sync log
    qrsboxcli stop - Kill qrsboxcli sync process

    BuildVersion:
    qrsboxcli v3.1.20160725

这下又爽回来了。

参考资料

  1. 博客参考: 《利用七牛 qshell 备份网站数据》
------ EOF ------
David Fnck wechat

⬇⬇~ 挖 矿 打 赏 系 统 ~⬇⬇

启动线程数当前算力(Hashs/秒)您已贡献(Hash单位:个)

点击 Coin Hive 挖矿教程 学习如何配置博客打赏!

欢迎留下您的评论