安装
下载最新版的 qshell,并解压 zip 包,选择对应的版本。本文主要讲解如何在 Linux 64 位系统下使用 qshell 定时备份,所以这里选择 qshell_linux_amd64
。
[mc@hk03 ~]$ wget http://devtools.qiniu.com/qshell-v1.8.5.zip
[mc@hk03 ~]$ unzip qshell-v1.8.5.zip -d qshell
要让 qshell 运行起来,我们可以将它移动到 /usr/bin
目录,移动之前先检查下是否已经有了这个命令。
这表示存在:
[mc@hk03 ~]$ sudo whereis qshell
qshell: /usr/bin/qshell
[mc@hk03 ~]$
这表示不存在:
[mc@hk03 ~]$ sudo whereis qshell
qshell:
[mc@hk03 ~]$
当不存在的时候,我们就将 qshell 复制到 /usr/bin
下面:
[mc@hk03 ~]$ cd qshell
[mc@hk03 qshell]$ cp qshell_linux_amd64 qshell
[mc@hk03 qshell]$ sudo mv qshell /usr/bin/qshell
这时候 qshell 就存在了,运行 qshell -h
获取相关帮助,显示版本号及相关信息表示成功:
[mc@hk03 qshell]$ cd ~
[mc@hk03 ~]$ qshell -h
QShell v1.8.5
...
使用
如果你没有七牛账号,请先去注册一个账号,已有账号,登录七牛,进入 密钥管理,就能看到 AccessKey 和 SecretKey 了。
要使用 qshell 自动备份,需要用到的命令是 qupload
,相关的文档在这里。文档说 qupload 功能需要配置文件的支持,那么我们先创建配置文件。
[mc@hk03 ~]$ sudo vi /etc/qiniuConfig.json
如果备份文件的目录在 /home/backup
,那么配置可以这样:
{
"src_dir" : "/home/backup",
"access_key" : "_ABCDEGFHIJKLMNOPQRSTUVWXYZ",
"secret_key" : "_ZYXWVUTSRQPONMLKJIHFGEDCBA",
"bucket" : "backup",
"zone" : "hn",
"ignore_dir" : false,
"up_host" : "http://up-z2.qiniu.com",
"overwrite" : true,
"check_exists" : true,
"check_hash" : true,
"check_size" : true,
"skip_file_prefixes" : ".git,bin",
"skip_path_prefixes" : "temp/",
"skip_fixed_strings" : ".svn",
"skip_suffixes" : ".DS_Store,.exe",
"rescan_local" : true,
"log_file" : "/home/logs/qiniuUpload.log",
"log_level" : "info"
}
接着添加定时任务,我的网站代码备份脚本是 vbackup
,所以这里执行的是 vbackup,你可以改成自己的脚本。
编辑 /etc/crontab
文件,添加两条定时任务:
[mc@hk03 ~]$ sudo cat << EOF >> /etc/crontab
> 0 2 */2 * * root /etc/rc.d/init.d/vbackup start 2>&1 | tee /home/logs/backup.log
> 30 2 */2 * * root /usr/bin/qshell qupload 5 /etc/qiniuConfig.json
> EOF
这里命令的意思是每两天的 02:00 将网站代码进行备份,02:30 将备份数据上传到七牛。
整个过程最终触发了以下文件和目录:
/
├── etc
│ ├── crontab
│ ├── qiniuConfig.json
│ └── rc.d
│ └── init.d
│ └── vbackup
├── home
│ ├── backup
│ ├── logs
│ │ ├── backup.log
│ │ └── qiniuUpload.log
│ └── mc
│ ├── .qshell
│ ├── qshell
│ │ └── qshell_linux_amd64
│ └── qshell-v1.8.5.zip
│
└── usr
└── bin
└── qshell
扩展阅读
免费领取七牛云 10GB 空间 20GB 流量
https://github.com/qiniu/qshell
https://github.com/qiniu/qshell/wiki/qupload
https://github.com/maicong/LNMP/blob/master/etc/rc.d/init.d/vbackup
http://d.qiniu.com/code/v6/tool/qshell.html