Skip to main content

网站需要备份吗?说说网站备份的方法

始于一个宅男的爱好,在2006年,我开始做网站。那年国内还没有阿里云、腾讯云、天翼云……网上的空间叫做虚拟主机,而且国内的虚拟主机是各种的贵,能玩VPS的都是大神,就别提用独立服务器的了;那年,宽带只有2M,网站还不需要备案,wordpress刚开始流行;那年,我还不知道网站备份的重要性。

早些年的网站服务器远不如现在的稳定,主机商超售现象很严重,网络故障还好说,总有再连上的一天。但如果遇到硬盘坏了就完蛋了,你开发的网页,你用心写的文章,你上传的图片,用户产生的内容,就全没了。还有的小型虚拟主机商开着开着,可能是做不下去了,直接关门跑路的都有,用户的数据是自然拿不回来了。那时候我对备份网站这事的认识不足,丢过两次数据,一次是服务器提供商的问题,一次是我自己的误操作删除了mysql数据库。好在那时候都是小打小闹,损失不大。

2008年512地震之后,我就开始不定期的备份网站。说是不定期,一是因为我手里的网站更新频率不高,不需要太频繁的备份;二是有时候难免还是会忘记,想起来了一个星期备份一次,忘了就可能是一个月一次了。不过还好,都没有出问题。

备份

在后来的若干年里,随着我越来越看中数据的重要性,我就开启了使用脚本备份网站并异地存储的历程。简单的步骤如下:

  • 配合linux的crontab每天定时将网站整站打包;
  • mysql数据用mysqldump命令导出来并打包;
  • 购买一台便宜的VPS作为异地备份服务器,每天定时从网站服务器下载上述的两个打包文件;
  • 不定期登录备份服务器,把上面的网站备份包下载到我的电脑。

如此操作下来,一个网站等于有了三个备份,三个备份全部异地,即便网站服务器硬盘坏了、服务商跑路了、地震了、海啸了……我也可以很快的恢复。不是我吹牛,上面的网站备份方法看似愚钝粗糙,却安全有效,实际上很多公司都没有做到,对数据安全重视不够,要不然,2018年就不会出现前沿数控在腾讯云丢数据这种案例了。

现在已经2019年了,国内阿里云、腾讯云、天翼云、华为云、七牛云……各种云时代了,不云一下都不好意思出来见人。各家云也有各种网站备份方案提供,有的免费,有的收费,快照咯,负载均衡咯……对于我这种数据量不大的互联网从业者来说,不要把鸡蛋放一个篮子里面是原则,数据拿到自己的手里才安心,我是这样操作的。

比如,我在天翼云的上海资源池有一台网站服务器,系统是linux的,我在crontab -e里面写下下面的内容:

58 5 * * * /root/bin/error_clean
59 5 * * * /root/bin/log_clean
0 6 * * * /root/bin/backupmysql
3 6 * * * /root/bin/backupweb
8 6 * * * /usr/local/bin/coscmd upload -r /root/bak/sql/ sql/
12 6 * * * /usr/local/bin/coscmd upload -r /root/bak/ctyun.zip web/

每天早上5:58分,运行error_clean脚本清空网站错误日志;一分钟后,运行log_clean脚本清空网站访问日志;六点正的时候,运行backupmysql脚本,其实就是用mysqldump命令导出服务器里面几个网站的mysql数据库;6:03的时候,开始整站打包;6:08和6:12,把数据库文件和整站打包文件上传到腾讯云在成都的对象存储服务器,实现跨运营商的异地备份。同理,我在腾讯云成都的网站服务器里配置的自动备份脚本中,备份好的文件也不会放在成都腾讯云,而是会传到天翼云的上海对象存储资源池。然后,每个星期从两边的对象存储里面下载备份文件到我的电脑。

数据无价,网站备份出来的数据平时用不到还占空间,但这种防患于未然的事情,一定要做!