网站有了,自动部署有了,自动备份也有了,怎么把备份的文件上传到某个地方,比如七牛空间
为了服务器在不必要的时候宕机,而且又无法重启服务器时,里面的备份文件是无法拿到的,这个时候如果有其他地方的备份就可以了,那么现在就来设置他
风.foxwho
以定时 备份 MYSQL 为例,统一备份文件到/www/backup
目录,然后定时上传
http://blog.csdn.net/fenglailea/article/details/70462153
http://www.foxwho.com/article/102
https://developer.qiniu.com/kodo/tools/1302/qshell
https://github.com/qiniu/qshell?ref=developer.qiniu.com#下载
打开连接后 下载
到服务器上
并解压缩
,这里的服务器为 Centos7
,那么使用的文件是qshell_linux_amd64
以我的服务器上操作为例
mkdir /www/tool/
mv qshell_linux_amd64 /www/tool/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 -o $BACK_PATH/test.log
echo "开始上传"
echo "qshell qupload -c 1 ${QSHELL_CONF}"
qshell qupload -c 1 $QSHELL_CONF
echo "SUCCESS"
设置可执行权限
chmod +x qshell_upload.sh
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
* * * * * 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