热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux同步到七牛,利用七牛云的qshell工具qupload将本地目录中的文件同步到七牛空间中...

利用七牛云的qshell工具qupload将本地目录中的文件同步到七牛空间中,备份网站数据qshell是什么qshell是基于七牛API参考手册实现的一个方便开发者测

利用七牛云的qshell工具qupload将本地目录中的文件同步到七牛空间中,备份网站数据

qshell是什么

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

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

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

到七牛云官网下载对应操作系统的版本mkdir ~/qiniu/

cd ~/qiniu/

wget https://dn-devtools.qbox.me/2.1.5/qshell-linux-x64 #下载qshell

sudo chmod +x qshell-linux-x64 #添加可执行权限

sudo mv qshell-linux-x64 /usr/local/bin/qshell #移动并改名

qshell -v #查看版本,测试是否安装成功

3855072647.png

2. 密钥设置

该工具有两类命令,一类需要鉴权,另一类不需要。

qupload命令需要在鉴权下使用。

需要鉴权的命令都需要依赖七牛账号下的 AccessKey 和 SecretKey。所以这类命令运行之前,需要使用 account 命令来设置下 AccessKey ,SecretKey 。qshell account ak sk

3.配置

qupload 功能需要配置文件的支持,配置文件支持的全部参数如下:{

"src_dir" : "",

"bucket" : "",

"file_list" : "",

"key_prefix" : "",

"up_host" : "",

"ignore_dir" : false,

"overwrite" : false,

"check_exists" : false,

"check_hash" : false,

"check_size" : false,

"rescan_local" : true,

"skip_file_prefixes" : "test,demo,",

"skip_path_prefixes" : "hello/,temp/",

"skip_fixed_strings" : ".svn,.git",

"skip_suffixes" : ".DS_Store,.exe",

"log_file" : "upload.log",

"log_level" : "info",

"log_rotate" : 1,

"log_stdout" : false,

"file_type" : 0

}

各个参数的描述可以查看qupload的文档,其中"src_dir","bucket"这两个参数是必选的

4.使用

创建一个qupload的配置文件比如:upload.conf{

"src_dir" : "/home/fuzqing/files/images",

"bucket" : "images",

"rescan_local" : true,

"overwrite" : true,

"delete_on_success" : true

}qshell qupload upload.conf

上传成功后会自动删除本地文件,上传速度很快的。

5.利用qshell定时更新本地目录中的内容

由于qshell本身出于工具简洁考虑,没有加入自动检查目录更新,然后上传的功能。对于某些情况下,有些用户需要qshell能够支持定时同步本地的文件更新。对于这种需求,我们可以结合shell脚本和qshell的配置来实现。

首先,为了能够支持本地文件增量上传,需要设置 rescan_local 为 true,另外为了支持本地更新的文件覆盖空间已有的文件内容,需要设置 overwrite 为 true。所以基本的配置文件如下:{

"src_dir" : "/home/fuzqing/files/images",

"bucket" : "images",

"rescan_local" : true,

"overwrite" : true

}

然后我们再准备一个脚本,定时检测本地文件并上传,比如10分钟检测一次,就是600秒。#!/bin/bash

while [ "1" = "1" ]

do

qshell qupload upload.conf

sleep 600

done

然后把脚本保存为upload.sh然后使用sh upload.sh运行即可。 对于在服务器端长时间执行后台命令,可以参考 screen 或者 tmux 命令的用法,可以在后台开启 ssh 的 session 用来执行脚本。

end



推荐阅读
author-avatar
云在天涯无无边_737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有