自动备份OpenShift数据到Dropbox(2)—自动备份脚本和cron任务的设置
配置完Dropbox Uploader之后就可以编写脚本实现自动备份网站的数据了。开始之前,我们先理清一下所有流程,网站自动备份到Dropbox大致需要以下几个步骤:
- 备份数据库;
- 备份网站文件;
- 将数据库和网站文件打包上传到dropbox;
配置完Dropbox Uploader之后就可以编写脚本实现自动备份网站的数据了。开始之前,我们先理清一下所有流程,网站自动备份到Dropbox大致需要以下几个步骤:
OpenShift开通了SSH权限,并且用户可以设置cron任务,通过一定的配置我们可以让OpenShift自动备份网站数据(数据库,文件等)到Dropbox. 本文包含详细的配置步骤,供不太熟悉Linux Shell 的用户参考。
开始之前当然是申请OpenShift和Dropbox账户,并创建一个OpenShift 应用。假设这个步骤已经完成,我们就可以开始了。
SSH登录OpenShift应用,并依次输入以下命令在repo目录下创建一个文件夹dropbox,我们将在这里放置Dropbox 应用。
1 | 请将{appname}换成你的app名称,比如我的app名称是apps,那就是 cd apps |
最近发现一个叫AhrefsBot的机器人特别勤快,每天都数次访问我的网站,并且不遵守robotx.txt规则,几乎采集了网站的每个页面,但却没带来任何流量。上官网去看了下发现Ahrefs貌似是一家做搜索引擎优化的网站,对于小站来说,只会增加带宽和服务器负担,没有任何好处。基于节能环保的原则,完全可以把AhrefsBot屏蔽掉。
屏蔽方法很多,比如最简单的robots.txt规则:
user-agent: AhrefsBot
disallow: /
百度也推出网盘了,注册空间15G,单个文件1G,通过邀请最大可增加3G空间。看起来的确比较大方,不过比起金山坑爹的1T网盘那是小儿科了。
粗略试用了一下,除了上传/下载速度非常快(可能是由于刚推出用户少的原因),其他的功能都只算中规中矩:
支持PC,Android客户端;
支持加密文件分享和类似Dropbox的公共文件夹,不过公共文件夹里的文件不支持直接外链。百度真精明,用户下载文件最终还要被导向下载页面的广告(虽然暂时还没广告)。
经常使用图床的朋友可能担心某一天图床被删除,导致网站的图片和附件丢失,从而给读者留下一个非常糟糕的印象。
为了保证图片和附件的高可用性,除了选一个稳定的图床外,我们还可以增加一个冗余的附件服务器。这样即使图床挂了,我们的冗余附件服务器还能正常工作,这样就保证了网站图片和附件的可访问性。整个系统的结构如下图所示:
上图中的Main Server
是主服务器,Attachment Server 1
就是我们的图床,Attachment Server 2
是备份的附件服务器。
主服务器负责客户请求的处理,并将结果返回给客户端,比如输出一篇带有图片和附件链接的文章; 附件服务器1和附件服务器2的内容是完全相同的,正常情况下,Main Server返回给客户端内容的图片和附件链接都指向附件服务器1,比如有一张图片链接为:http:// upload .shuyz.com/2012/04/search.png
,那么浏览器会向附件服务器1请求这个图片;如果附件服务器1挂掉了,那么所有的附件地址将指向附件服务器2,这张图片的地址应该变成http:// uploadmirror .shuyz.com/2012/04/search.png
,浏览器在附件服务器2(备份附件服务器)中仍然能请求到这张图片。