将备份文件保存在VPS环境中,一旦服务器崩溃或者被删除,我们的数据又会消失不见;或者我们每天通过FPT等方式将数据传回本地进行保存,但是比较麻烦。
那我们何不继续利用脚本的方式将数据保存到对象储存呢?
目前,阿里云,腾讯拥有对象储存业务,而且价格不是一般站长能承受。所以还是推荐使用七牛云。用户注册即送10G的永久免费空间,对于一般的博客足够使用了。需要实名认证才能送免费空间,介意请绕道。
2.完成实名认证,很简单,通过支付宝授权,很快就完成认证的;
3.新建储存空间,并设置为私有空间(公开和私有仅对 Bucket 的读文件生效,修改、删除、写入等对 Bucket 的操作均需要拥有者的授权才能进行操作);
4.七牛账户下,个人中心—->密钥管理,记录AccessKey和SecretKey,供qshell鉴权使用。
注:以下脚本都存放于data目录,即/data/
1.请根据VPS的实际情况,下载对应版本的qshell并上传至至VPS的data目录
qshell_linux_386—-Linux 32位系统
qshell_linux_amd64—-Linux 64位系统
qshell_linux_arm—-Linux ARM CPU
qshell_darwin_amd64—-Mac 64位系统
配置qshell (linux)
在data目录下新建LocalUploadConfig.json文件,编辑文件并在文件中添加如下内容:
执行qshell需要的命令
建立bat文件,给计划任务使用
那我们何不继续利用脚本的方式将数据保存到对象储存呢?
目前,阿里云,腾讯拥有对象储存业务,而且价格不是一般站长能承受。所以还是推荐使用七牛云。用户注册即送10G的永久免费空间,对于一般的博客足够使用了。需要实名认证才能送免费空间,介意请绕道。
准备七牛云空间
1.打开—-七牛云官网,注册账户;2.完成实名认证,很简单,通过支付宝授权,很快就完成认证的;
3.新建储存空间,并设置为私有空间(公开和私有仅对 Bucket 的读文件生效,修改、删除、写入等对 Bucket 的操作均需要拥有者的授权才能进行操作);
4.七牛账户下,个人中心—->密钥管理,记录AccessKey和SecretKey,供qshell鉴权使用。
VPS备份配置
qshell 说明文件注:以下脚本都存放于data目录,即/data/
1.请根据VPS的实际情况,下载对应版本的qshell并上传至至VPS的data目录
qshell_linux_386—-Linux 32位系统
qshell_linux_amd64—-Linux 64位系统
qshell_linux_arm—-Linux ARM CPU
qshell_darwin_amd64—-Mac 64位系统
配置qshell (linux)
cd /data #打开data文件夹
ls #查看qshell是否存在
mv qshell_linux_amd64 qshell #将对应版本的qshell文件修改文件名为qshell
vi ~/.bashrc #将qshell加入环境变量中,使其能够在任何位置都可以执行
编辑文件并在底部添加 export PATH=$PATH:/data #路径即为qshell所在的文件夹
chmod +x qshell #赋予qshell可执行权限
qshell account AccessKey SecretKey #为qshell的上传至七 牛云功能鉴权
在data目录下新建LocalUploadConfig.json文件,编辑文件并在文件中添加如下内容:
{
"src_dir" : "/home/backup/try", #本地同步路径,为全路径格式,工具将同步该目录下面所有的文件
"bucket" : "YouB", #同步数据的目标空间名称,可以为公开空间或私有空间
"ignore_dir" : false, #保存文件在七牛空间时,使用的文件名是否忽略本地路径,默认为false
"overwrite" : true, #是否覆盖空间中已有的同名文件
"check_exists" : true, #每个文件上传之前是否检查空间中是否存在同名文件
"check_hash" : true, #在check_exists设置为true的情况下生效,是否检查本地文件hash和空间文件hash一致
"check_size" : true, #查看本地文件和空间文件大小是否一致
"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", #上传日志的输出文件,如果不指定会输出到qshell工作目录下默认的文件中,文件名可以在终端输出看到
"log_level" : "info", #上传日志输出级别,可选值为debug,info,warn,error,默认info
"log_rotate" : 1, #上传日志文件的切换周期,单位为天,默认为1天即切换到新的上传日志文件
"log_stdout" : false #上传日志是否同时输出一份到标准终端,默认为false,主要在调试上传功能时可以指定为true
}
测试上传并应用于生产环境qshell qupload 1 /data/LocalUploadConfig.json #单线程上传本地备-份文件至七-牛云的对象储存的储存空间
待上传完成后,打开七牛云账户,查看文件是否完全上传,是否出错等。一切正常后,配置每天自动上传。crontab -e #编辑自动执行脚本
添加运行脚本 0 4 * * * /data/qshell qupload 1 /data/LocalUploadConfig.json
配置qshell (WINODWS)执行qshell需要的命令
cd C:/qrsbox
qshell account AccessKey SecretKey
建立bat文件,给计划任务使用
@echo off
cd C:/qrsbox
qshell qupload 10 qshell.conf
pause
在c盘qrsbox目录下创建qshell.conf文件{
"src_dir" : "C:\\webbak",
"access_key" : "111111111",
"secret_key" : "222222",
"bucket" : "",
"zone" : "nb",
"ignore_dir" : false,
"up_host" : "http://up-z0.qiniu.com",
"overwrite" : true,
"check_exists" : true,
"check_hash" : false,
"check_size" : false,
"skip_file_prefixes" : ".git,bin",
"skip_fixed_strings" : ".svn",
"skip_suffixes" : ".DS_Store,.exe,.config,.log",
"rescan_local" : true,
"log_file" : "upload.log",
"log_level" : "info"
}
然后执行BAT文件看看效果...
No comments:
Post a Comment