马孔多不下雪

Head Pic: 「miku 无视」/「千夜QYS3」のイラスト [pixiv]

讲在最前

备份的重要性自然是不用说的啦,当年(今年)我迁移博客的时候搞崩的数据库就是靠备份回血的。

备份方式

备份说白了就是把伺服器上的档案抓到本地。

导出方式

  • 手动导出
  • 自动导出

首选自动导出啦,虽然一开始的设定麻烦一点,但后面就几乎可以无人值守了。

下载方式

  • 从伺服器直接下载
  • 利用后端存储(阿里云oss之类的)

一般这两种各有其理,前者无需额外付款,后者可能造成流量和存储空间的费用。

不过坏处其实挺明显的,前者最后下载的时候速度取决于伺服器的带宽(流量),后者流量和空间一般比前者便宜,更是不限制带宽的下载。

具体实施

挂载

先用ossfs工具将阿里云oss挂载到伺服器上。

这里请移步这个页面查看。

脚本

写一个备份的脚本,像这样。

1
2
3
4
5
6
7
#!/bin/bash
tar -czvf `date +"%Y%m%d"`_minecraft.tar.gz /root/Mine*
tar -czvf `date +"%Y%m%d"`_nginx.tar.gz /usr/share/nginx
tar -czvf `date +"%Y%m%d"`_drive.tar.gz /home/cloud-data
mysqldump -uroot -p***** --all-databases > localhost.sql
tar -czvf `date +"%Y%m%d"`_database.tar.gz localhost.sql
mv `date +"%Y%m%d"`* /home/backup/ossfs/backup

解释一下:

前面三个tar时打包和压缩一些要备份的档案,第四行是导出所有mysql的数据库,记得把那里的*换成密码,用户名不同时要改一改。

其中/home/backup/ossfs是我伺服器的oss挂载目录。

下载

去oss上把东西下载下来就好了,不限带宽,对于国内节点一个月有10GB的免费流量吧(像我这个香港节点就只有5GB免费流量),你可能需要购买流量包。

每日备份

加入crontab即可。

关于crontab请移步这个页面