我们服务器的部署, 备份方法
访问量: 2508
原则:
1. 代码要跟数据和图片彻底分离. 数据要有两个地方的备份. 图片要放到云存储上.
2. 要把代码同时运行在两个机房上, (北京机房是主力, 香港机房是备份) . 两个机房同时宕机的几率几乎是没有的.
方法:
1. 数据库要频繁备份, 例如, 在北京机房中:
$ crontab -e
0 * * * * /home/ubuntu/backup_db.sh
/home/ubuntu/backup_db.sh 的内容是对数据库做全库备份:
mysqldump -u root -pYourPassWord -h 192.168.1.1 --all-databases > /home/ubuntu/db_backup/all-db-$(date "+%Y_%m_%d_%H_%M_%S").sql
然后, 在其他机房( 例如香港机房) 对它进行 远程同步, 把 目标服务器上的 SQL文件同步到本地
* * * * * rsync -e "ssh -p 22322" -avz [email protected]:/home/ubuntu/db_backup /home/ubuntu
(这里可以进一步做的是, 把同步过来的北京的最新的数据导入到 香港机房的数据库中)
2. 上传图片使用 云存储, 一般的云存储都会三重备份.
3. 香港机房也要运行一份代码.
这样, 北京机房出了问题, 就可以保证快速切换到香港机房(通过修改域名的A记录, 把对应的IP地址从 北京机房改到香港机房即可):
我们目前用的域名服务是 dnspod.cn , 可以保证10秒内修改就会生效.
我们用的是图片存储空间是 upyun. 便宜,上手快. 速度也不错.
主机空间是 青云(qingcloud) 比 阿里云好很多.