qshell是什么
qshell 是基于七牛 API 参考手册实现的一个方便开发者测试和使用七牛 API 服务的命令行工具。
qshell由七牛官方发布,可在七牛官网下载,最新版本是1.8.2
qshell文档:https://github.com/qiniu/qshell
安装qshell
1.创建一个文件夹,进入文件夹。
mkdir /var/test/ mkdir /var/test/qiniu cd /var/test/qiniu
2.下载qshell,解压缩
wget http://devtools.qiniu.com/qshell-v1.8.2.zip unzip qshell-v1.8.2.zip
3.根据系统平台选择文件
因为上面发布的 zip 包里面有支持不同平台的可执行文件,请根据系统平台选择合适的可执行文件,然后其他的都可以删除,再把可执行文件重命名为 qshell
mv qshell_linux_amd64 qshell
文件名对应系统
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位系统,主流的系统
4.赋权
chmod +x qshell
如果希望能够在任何位置都可以执行,那么可以把qshell所在的目录加入到环境变量$PATH中去。或者最简单的方法如下:
sudo mv qshell /usr/local/bin
5.设置账号密码和机房区域
./qshell account <Your AccessKey> <Your SecretKey> <Zone>
其中为七牛账号所在的机房,可选值为nb,bc,na0,默认为nb
各机房对应的zone值
华东 nb 华北 bc 华南 hn 北美 na0
备份文件
首先我们创建一个文件夹用于存放备份文件
mkdir /var/test/backup mkdir /var/test/backup/files mkdir /var/test/backup/archives
其中files用于存放源文件,archives用于存放打包后的文件
将需要备份的文件夹复制到备份文件夹并打包
cp /var/test/tobackup/tobackup.file /var/test/backup/files/backup.file tar zcvf /var/test/backup/archives/backup.`date +%Y%m%d`.tar.gz /var/test/backup/files/
压缩后的文件名为backup.YYYYmmdd.tar.gz,如backup.20161006.tar.gz
将备份文件上传至七牛云
创建配置文件
将以下内容保存为backup2qiniu.txt,放在/var/test/backup/下
{ "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" }
备份
/var/test/qiniu/qshell qupload 100 /var/test/backup/backup2qiniu.txt
其中100为并发上传的协程数量,可按实际情况修改
利用crontab定期备份
在前面我们已经将备份文件上传到了七牛云存储,我们可以利用crontab定期执行以上命令行,达到定期备份的目的。为了方便,我们创建一个sh文件,也放在/var/test/backup/下,命名为back.sh
创建.sh文件
#!/bin/sh #复制文件 cp /var/test/tobackup/tobackup.file /var/test/backup/files/backup.file #打包文件夹 cd /var/test/backup tar zcvf archives/backup.`date +%Y%m%d`.tar.gz files/ #上传至七牛云 /var/test/qiniu/qshell qupload 100 /var/test/backup/backup2qiniu.txt
赋权
chmod +x /var/test/backup/backup.sh
加入crontab
运行crontab -e编辑crontab文件
crontab -e
每天早上3点半运行.sh文件备份文档
30 3 * * * /var/test/backup/backup.sh
定期删除备份文件
sh文件如下,不再细述。
#!/bin/sh #删除三个月前的七牛备份 QNFP="backup".`date -d '3 month ago' +%Y%m` /var/test/qiniu/qshell listbucket <bucket> $QNFP /var/test/backup/qn.delete.txt /var/test/qiniu/qshell -f batchdelete <bucket> /var/test/backup/qn.delete.txt #删除一个月前的本地文件 find /var/test/backup/archives/ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
最新评论