网站有了,自动部署有了,自动备份也有了,怎么把备份的文件上传到某个地方,比如七牛空间

为了服务器在不必要的时候宕机,而且又无法重启服务器时,里面的备份文件是无法拿到的,这个时候如果有其他地方的备份就可以了,那么现在就来设置他

风.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

 Tags : 七牛

Donate:| 文章有帮助,可以 请我喝杯咖啡

Powered by foxwho.com 浙ICP备19037334号-1