项目升级,打算把 public 目录下的 css、js、image等文件,上传到七牛云,一直想搞来着,今天又想起来,正好 laravel 也从 5.2 升级到了 5.7,接下来把这边一搞,项目就更加优化了。
首先查找文档:
// 文档中心 - 对象存储
https://developer.qiniu.com/kodo
// 技术支持
https://support.qiniu.com/
主要是从这 2 个地方,查找相关资料
关于上传,因为从本地上传文件,需要批量将整个目录上传到七牛云,同时在七牛云上还需要保持跟本地项目的目录结构。查找有没有批量上传的文档:
// 资源批量上传和多文件上传
https://developer.qiniu.com/kodo/kb/1374/batch-upload-and-file-upload-more-resources
// 命令行工具 - qshell
https://developer.qiniu.com/kodo/tools/1302/qshell
// 使用 qshell 同步目录
https://developer.qiniu.com/kodo/kb/1685/using-qshell-synchronize-directories
看几篇文档大概了解了:
批量上传借助 qshell 命令行工具,这也是我最希望用到的,尤其是以后,能不能通过自动化之前的工具,前端自动化执行完毕之后,再借助 qshell,同时更新七牛云上使用的静态文件。
我本机是 mac,列出 mac 下安装 qshell 的步骤:
// 下载
wget http://devtools.qiniu.com/qshell-v2.1.8.zip
// 解压
unzip qshell-v2.1.8.zip
// 将 qshell-darwin-x64 移动到 /usr/local/bin/qshell
mv qshell-v2.1.8/qshell-darwin-x64 /usr/local/bin/qshell
// 更改权限
chmod +x /usr/local/bin/qshell
// 查看是否安装成功
qshell
qshell 的介绍:
qshell 的使用,需要配置秘钥,这里分了一个 '单用户模式' 和 '多用户模式':
单用户模式:
qshell account ak sk
多用户模式:
qshell -m account ak sk
注意:
有关多用户模式的介绍,参考文档,我们使用单用户模式。
qshell 命令选项:
-d - 设置是否输出DEBUG日志,如果指定这个选项,则输出DEBUG级别的日志
-m - 切换到多用户模式,这样所有的临时文件写入都在命令运行的目录下(多用户模式的介绍,参考文档,要不这里不理解)
-h - 查看帮助
-v - 版本号
qshell 命令列表:
account - 设置或显示当前用户的AccessKey和SecretKey(我们上面说的配置秘钥,就使用该命令)
qupload - 同步数据到七牛空间, 带同步进度信息,和数据上传完整性检查(我们批量上传本地文件,就使用该命令)
...
注意:
qshell 提供了一系列命令,可供我们借助命令行,来进行各种操作,每个命令,都有详细的文档介绍,应该基本都能满足我们的需求。
利用 qshell 同步本地目录:
1.单用户模式,配置账户,使用 account 命令
qshell account ak sk
// 会在 ~/.qshell/ 下生成一个 account.json 账号配置文件
2.使用 qupload 命令,进行上传
参考文档:
https://github.com/qiniu/qshell/blob/master/docs/qupload.md
1>创建上传配置文件,我们也创建到 ~/.qshell 目录下
vim ~/.qshell/qupload.conf
{
"src_dir": "/var/www/pinxuejianyou_57/public/",
"bucket": "test",
"skip_path_prefixes": "data,uploads",
"skip_fixed_strings": ".htaccess,favicon.ico",
"skip_suffixes": ".DS_Store,.gitkeep"
}
注意:
配置项很多,我们需仔细看文档!
2>执行同步命令
qshell qupload [ThreadCount] [LocalUploadConfig]
ThreadCount - 并发上传的协程数量,默认为1,即文件一个个上传,对于大量小文件来说,可以通过提高该参数值来提升同步速度(可选参数)
LocalUploadConfig - 数据同步的配置文件(必选参数)(本例中我们使用上面创建的 ~/.qshell/qupload.conf)
3.注意事项:
1>我们可以指定 'skip_*' 几个配置,来忽略一些文件或目录,切记,多个匹配规则以 ',' 分隔,但是 ',' 两边,不可以有任何空格!!!
2>同步过程中,我们可能会测试一些上传是否是我们想要的结果,可以使用 qshell 的 listbucket 和 batchdelete 命令,查看&删除,我们上传过的文件,来不断进行测试
qshell listbucket <空间名> <导出文件名>
qshell batchdelete -force <空间名> <listbucket 命令导出的文件列表名>
使用 qshell 将本地文件同步到七牛云
猜你喜欢
转载自blog.csdn.net/beyond__devil/article/details/83030702
今日推荐
周排行