LINUX Centos7利用七牛空间做定时备份 qshell定时备份,定时上传到七牛空间

Table of Contents

网站有了,自动部署有了,自动备份也有了,怎么把备份的文件上传到某个地方,比如七牛空间
为了服务器在不必要的时候宕机,而且又无法重启服务器时,里面的备份文件是无法拿到的,这个时候如果有其他地方的备份就可以了,那么现在就来设置他
风.foxwho

定时备份 MYSQL

以定时 备份 MYSQL 为例,统一备份文件到/www/backup目录,然后定时上传
http://blog.csdn.net/fenglailea/article/details/70462153
http://www.foxwho.com/article/102

七牛 QSHELL 介绍及文档

https://developer.qiniu.com/kodo/tools/1302/qshell

七牛QSHELL 下载

https://github.com/qiniu/qshell?ref=developer.qiniu.com#下载

打开连接后 下载服务器上解压缩,这里的服务器为 Centos7,那么使用的文件是qshell_linux_amd64

以我的服务器上操作为例

mkdir /www/tool/
mv qshell_linux_amd64 /www/tool/qshell

qshell 备份命令

cd /www/tool/
vim qshell_upload.sh

加入以下

#!/bin/bash


AccessKey=七牛账号下的 AccessKey
SecretKey=七牛账号下的 SecretKey
#要备份的目录
BACK_PATH=/www/backup

# 当前目录
IN_PWD=/www/tool/
cd $IN_PWD
# 标志设置 七牛账号相关的是否已设置
QSHELL_ACCOUNT=$IN_PWD/conf/account.ok
# 上传配置文件
QSHELL_CONF=${IN_PWD}/conf/qshell.conf

# 初始化  一次,七牛账号下的 AccessKey 和 SecretKey
#qshell account AccessKey SecretKey

# 检测文件是否已存在,如果不存在 重新设置
if [ -f $IN_LOG ]; then
	echo \"已设置过\"
else
    qshell account $AccessKey $SecretKey
    touch $QSHELL_ACCOUNT
    echo \"设置OK\"
fi

if [ ! -f $QSHELL_CONF ]; then
	echo \"上传配置文件 不存在,请设置配置文件\"
	exit 0
fi

echo \"输出本地指定路径下所有的文件列表\"
echo \"dircache $BACK_PATH $BACK_PATH/test.log\"

qshell dircache $BACK_PATH $BACK_PATH/test.log


echo \"开始上传\"

echo \"qshell qupload 1 ${QSHELL_CONF}\"

qshell qupload 1 $QSHELL_CONF

echo \"SUCCESS\"

设置可执行权限

chmod +x qshell_upload.sh

qshell 配置文件

cd /www/tool/
mkdir -p conf
vim conf/qshell.conf

加入

{
   \"src_dir\"            :   \"/www/backup\",
   \"bucket\"             :   \"foxwho-backup\",
   \"file_list\"          :   \"\",
   \"key_prefix\"         :   \"foxwho.server/\",
   \"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
}

设置定时上传

运行如下命令

# 编辑系统任务
crontab -e

在最后一行加入

#每天 4点20分 定时执行 同步上传
20 4 * * *   /www/tool/qshell_upload.sh

crontab基本格式 :

*  *  *  *  *  command 
分 时 日 月 周 命令 
第1列表示分钟1~59 每分钟用*或者 */1表示 
第2列表示小时1~23(0表示0点) 
第3列表示日期1~31 
第4列表示月份1~12 
第5列标识号星期0~6(0表示星期天) 
第6列要运行的命令 

首发 http://www.foxwho.com/article/101 .
同步自 我的博客 http://www.foxwho.com