QQ截图20140212171616
顺应网友需求写了Windows版本的服务器备份程序for七牛云存储。老规矩,为了数据安全,用开放源代码的bat来编写。
Linux版本见:http://wyr.me/314.html
备份程序下载(还是那句话,为了安全,你可以去七牛官方下载qrsync文件替换我文件中的,当然,如果你信得过我可以直接用本站下载的文件里面的):
Windows32位系统:http://wyrapp.qiniudn.com/bfjb-win-32.rar
Windows64位系统:http://wyrapp.qiniudn.com/bfjb-win-64.rar
由于Windows平台在文件操作和文件编辑上比Linux命令行方便,故不再做向导和数据库的导出、以及计划任务函数。使用脚本仅需直接编辑修改”bfjb.bat”文件即可。首次使用需要在“bfjb.bat”中填写相关信息“有中文注释”,此外,还需要在“bflb.txt”中填写需要备份的目录(推荐填写网站目录、配置文件conf目录、数据库data目录),可以加入多个目录地址,每个地址一行,这个脚本会自动将该文件下的目录中的文件打包压缩并加密,加密后上传到七牛云存储。整个过程和Linux版本雷同,在此不再赘述。
贴出核心代码:
01
@echo off
02
::以下内容需要手动配置
03
04
::七牛绑定的空间名称(bucket)
05
set QINIUMC=
06
::七牛的AccessKey,到http://portal.qiniu.com/获取,登录七牛后在七牛的“帐号设置”-“密钥”中可找到。
07
set QINIUAccessKey=
08
::七牛的SecretKey,到http://portal.qiniu.com/获取,登录七牛后在七牛的“帐号设置”-“密钥”中可找到。
09
set QINIUSecretKey=
10
::备份脚本所在目录
11
set JBML=d:/bfjb
12
::备份文件的解压密码,一定要长,才安全
13
set JYMM=
14
:::::::::::::: 发送邮件的参数设置::::::::::::::
15
::如果用QQ邮箱就是smtp.qq.com,163就是smtp.163.com,不知道怎么配置发信参考网络上关于SMTP的相关说明
16
set server=smtp.qq.com
17
::例如QQ邮箱
18
set from=373226@qq.com
19
::例如QQ
20
set user=373226
21
::例如QQ密码(传输过程会加密的,放心填写即可)
22
set pass=
23
::您的收件地址
24
set to=a****@12345679.cn
25
26
::配置内容结束,以下内容无需修改
27
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
28
:: Stop editing here.
29
30
cls
31
::取随机数设置防止暴力下载的文件路径
32
set SJS=%random%%random%%random%%random%%random%%random%
33
cd %JBML%
34
35
::打包要上传的文件
36
37
set command=c:/progra~1/winrar/winrar.exe a -ep1 -hp%JYMM%
38
echo "正在备份数据..."
39
mkdir bflswj
40
cd bflswj
41
mkdir %SJS%
42
cd ..
43
%command% %JBML%/bflswj/%SJS%/bf.rar @%JBML%/bflb.txt
44
45
::运行七牛程序上传
46
echo "正在上传文件到七牛"
47
echo { > conf.json
48
echo "access_key": "%QINIUAccessKey%", >> conf.json
49
echo "secret_key": "%QINIUSecretKey%", >> conf.json
50
echo "bucket": "%QINIUMC%", >> conf.json
51
echo "sync_dir": "%JBML%/bflswj", >> conf.json
52
echo "debug_level": 1 >> conf.json
53
echo } >> conf.json
54
qrsync.exe conf.json
55
echo "文件上传完成"
56
rd /s /q bflswj
57
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
58
59
::下面这几行是发信用的
60
::根据七牛bucket空间名称自动生成七牛绑定的空间域名。
61
echo "正在发送邮件..."
62
set QINIU=http://%QINIUMC%.qiniudn.com
63
set d=%date:~0,10%
64
set t=%time:~0,8%
65
echo %d% %t%
66
echo %d%-%t%网站数据备份成功,本次备份的下载地址为:%QINIU%/%SJS%/bf.rar > fa.txt
67
set subj=%d%的网站数据备份成功
68
set mail=fa.txt
69
set debug=-debug -log blat.log -timestamp
70
::::::::::::::::: 运行blat发送邮件 :::::::::::::::::
71
blat %mail% -to %to% -base64 -charset Gb2312 -subject %subj% -server %server% -f %from% -u %user% -pw %pass% %debug%
72
echo "邮件发送完毕。恭喜你,备份成功!"
73
pause
74
exit
此外,如需按时间自动执行该批处理程序,请删除bfjb.bat文件中倒数第二行的“pause”暂停指令。并在Windows计划任务中添加相应任务。
开始->程序->附件->系统工具->任务计划 添加任务计划->下一步->浏览…(选择D:bfjbbfjb.bat)->每天->01:00->下一步->输入操作系统的 管理员账号密码->下一步->完成
在Windows7/8系统中,计划任务在控制面板的管理工具中。
邮件提示效果如下:
QQ截图20140212171644
———————–
知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
原创文章,您可以在上述协议允许的范围内转载(转载及表示您同意上述协议),请注明: 文章来自王轶的博客,本文地址:原创Windows版本服务器数据备份bat批处理-用七牛自动备份VPS中的网站数据(http://wyr.me/330.html)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。