前言
七牛云提供了每月10G的免费的图片存储容量, 用来作为图床还是非常香的.但是作为一个第三方服务提供商,不得不担心数据安全的问题,图床一旦丢失, 那可真是不可挽回的损失, 于是准备将七牛云的图片备份到本地, 防止发生意外.
思路:
qshell 是利用 七牛文档上公开的 API 实现的一个方便开发者测试和使用七牛 API 服务的命令行工具,而且支持增量备份(太香了)。
在服务器上下载qshell
工具,写好配置, 执行下载命令或者使用定时任务定时执行下载命令.
一、下载和设置环境变量
在 qshell 下载对应系统的工具, linux
下可以通过命令查看系统
uname -m
我喜欢全自动无感知的使用体验, 于是就使用linux
备份, 因为是24小时开机.
这里下载的是Linux X86
新建工具及相关文件存放路径
mkdir /root/tools
cd /root/tools
将下载的工具, 通过解压2次
将最后的qshell
文件上传到/root/tools
目录下
设置可执行权限
chmod +x qshell
添加到永久环境变量$PATH
中
vi /etc/profile
在最后一行输入
export PATH=$PATH:/root/tools
保存退出
使刚修改的环境变量生效
source /etc/profile
回到上级目录, 查看qshell
版本, 能正常显示即成功
cd ..
qshell -v
二、添加鉴权账户和配置
鉴权可以理解为一种登录方式
登录七牛云,在密钥管理
处可以找到ak
, sk
, 没有就添加一个
任意位置执行
qshell account 你的AK 你的SK 你的账户名
账户名可以任意指定
添加后, 可以通过
qshell user ls
查看用户信息
添加配置文件
cd /root/tools
vi config.conf
输入
{
"dest_dir" : "xxx",
"bucket" : "xxx",
"domain" : "xxx"
}
配置顺序别写错, 会有莫名问题
xxx
根据自己实际情况添加
bucket
:七牛云存储的空间名 【必选】
dest_dir
:本地数据备份路径(绝对路径),默认:当前路径 【可选】
domain
:配置的CDN加速域名, 若想使用赠送的每月10G流量【必选】具更多参数和命令请查看官方文档qdownload · GitHub
至此执行下载命令, 看看效果吧
qshell qdownload -c 10 config.conf
三、设置自动下载
新建脚本
vi download.sh
输入
(/root/tools/qshell qdownload -c 10 /root/tools/config.conf && echo 备份时间:`date "+%Y-%m-%d %H:%M:%S"`) >> /var/log/pic_down.log 2>&1
tail -n 11 /var/log/pic_down.log
执行下载命令并输出当前时间, 记录到日志文件
/var/log/pic_down.log
中
tail -n 11 /var/log/pic_down.log
输出日志的最后11行这里的路径要设置为绝对路径, 因为定时任务中, 只能找到绝对路径下的文件, 哪怕设置环境变量也不行
添加执行权限
chmod +x download.sh
添加定时任务
crontab -e
如果服务器首次添加定时任务, 会让你选择编辑器, 按自己习惯即可, 这里选择1
, nano
每天凌晨3点执行脚本
* 3 * * * /root/tools/download.sh
按ctrl + x
输入y
, 再按enter
即可退出
之后可以通过日志文件确认脚本是否正常执行
tail -n 11 /var/log/pic_down.log