个人随笔
目录
服务器备份策略
2023-12-07 09:11:15

之前一直考虑一个问题,就是我的博客用的是阿里云服务器,那么我要怎么备份数据,备份在哪里呢?我备份的原因只是怕服务器被攻击,或者服务器奔溃导致数据丢失,那就不好办了,虽然服务器奔溃的概率有点低,最多的可能是服务器被攻击,那么我这里采取两套备份方案

方案

服务器一份、OSS一份、本地电脑一份,三份

1、备份到OSS

备份到阿里云OSS,毕竟阿里云OSS我也不敢用来当作图床,被刷爆就完了

2、备份到本地

备份一份到本地电脑,这样就算阿里云奔溃,数据丢失,或者服务器有漏洞,那也不影响,最起码数据还在

一、首次全量备份

这次的备份是第一次全量备份,后续的还原都以这个为准,然后再结合增量备份

1、备份数据库

  1. cd /usr/local/software/mysql/bin/
  2. ./mysqldump -uroot -p密码 lianci > /usr/local/software/ossutil/lianci20231206.sql

上传

  1. cd /usr/local/software/ossutil
  2. ./ossutil64 cp lianci20231206.sql oss://suibibk/blog/

删除

  1. rm -rf lianci20231206.sql

2、备份table

  1. cd /usr/local/software/ossutil
  2. tar -zcvf table20231206.tar.gz /usr/local/software/blog/data/table

上传

  1. ./ossutil64 cp table20231206.tar.gz oss://suibibk/blog/data/

删除

  1. rm -rf table20231206.tar.gz

3、备份fileupload/files

  1. cd /usr/local/software/ossutil
  2. tar -zcvf files20231206.tar.gz /usr/local/software/blog/data/fileupload/files

上传

  1. ./ossutil64 cp files20231206.tar.gz oss://suibibk/blog/data/fileupload/

删除

  1. rm -rf files20231206.tar.gz

4、备份fileupload/html

  1. cd /usr/local/software/ossutil
  2. tar -zcvf html20231206.tar.gz /usr/local/software/blog/data/fileupload/html

上传

  1. ./ossutil64 cp html20231206.tar.gz oss://suibibk/blog/data/fileupload/

删除

  1. rm -rf html20231206.tar.gz

5、备份fileupload/images

  1. cd /usr/local/software/ossutil
  2. tar -zcvf images20231206.tar.gz /usr/local/software/blog/data/fileupload/images

上传

  1. ./ossutil64 cp images20231206.tar.gz oss://suibibk/blog/data/fileupload/

删除

  1. rm -rf images20231206.tar.gz

6、备份其他音频fileupload/musics

  1. cd /usr/local/software/ossutil
  2. tar -zcvf musics20231206.tar.gz --exclude=/usr/local/software/blog/data/fileupload/musics/sentenceAudios /usr/local/software/blog/data/fileupload/musics

上传

  1. ./ossutil64 cp musics20231206.tar.gz oss://suibibk/blog/data/fileupload/

删除

  1. rm -rf musics20231206.tar.gz

7、备份音频句子fileupload/musics/sentenceAudios

  1. cd /usr/local/software/ossutil
  2. tar -zcvf sentenceAudios20231206.tar.gz /usr/local/software/blog/data/fileupload/musics/sentenceAudios

上传

  1. ./ossutil64 cp sentenceAudios20231206.tar.gz oss://suibibk/blog/data/fileupload/musics/

删除

  1. rm -rf sentenceAudios20231206.tar.gz

8、备份配置、程序、脚本

  1. cd /usr/local/software/ossutil
  2. cp /usr/local/software/blog/application-blog.yml application-blog.yml20231206
  3. cp /usr/local/software/blog/blog.jar blog.jar20231206
  4. cp /usr/local/software/blog/blog.sh blog.sh20231206
  5. cp /usr/local/software/nginx/nginx.conf nginx.conf20231206

上传

  1. ./ossutil64 cp application-blog.yml20231206 oss://suibibk/blog/
  2. ./ossutil64 cp blog.jar20231206 oss://suibibk/blog/
  3. ./ossutil64 cp blog.sh20231206 oss://suibibk/blog/
  4. ./ossutil64 cp nginx.conf20231206 oss://suibibk/blog/

删除

  1. rm -rf application-blog.yml20231206
  2. rm -rf blog.jar20231206
  3. rm -rf blog.sh20231206
  4. rm -rf nginx.conf20231206

三、增量备份(以后只需要操作这个即可)

这个有些需要一个月执行一次,或者多个月执行一次,执行时间为月初

1、全量备份table

看发博文的情况,多的话就一个月一次,少的话就半年一次

  1. cd /usr/local/software/ossutil
  2. tar -zcvf table年月日.tar.gz /usr/local/software/blog/data/table

上传

  1. ./ossutil64 cp table年月日.tar.gz oss://suibibk/blog/data/

删除

  1. rm -rf table年月日.tar.gz

2、备份数据库

这个要一个月备份一次,因为是炼词数据

  1. cd /usr/local/software/mysql/bin/
  2. ./mysqldump -uroot -p密码 lianci > /usr/local/software/ossutil/lianci年月日.sql

上传

  1. cd /usr/local/software/ossutil
  2. ./ossutil64 cp lianci年月日.sql oss://suibibk/blog/

删除

  1. rm -rf lianci年月日.sql

3、备份图片

看发博文的情况,多的话就一个月一次,少的话就半年一次

  1. cd /usr/local/software/ossutil
  2. tar -zcvf images年月.tar.gz /usr/local/software/blog/data/fileupload/images/年月

上传

  1. ./ossutil64 cp images年月.tar.gz oss://suibibk/blog/data/fileupload/images/

删除

  1. rm -rf images年月.tar.gz

四、还原

原则上还原都以最新日期的备份为准,对于增量备份则还原所有增量

1、还原数据库

先下载回来

  1. ./ossutil64 cp oss://suibibk/blog/lianci20231206.sql /usr/local/software/ossutil/lianci20231206.sql

这里直接用MYSQL的运行SQL文件即可

  1. cd /usr/local/software/mysql/bin/
  2. ./mysql -u root -p lianci < /usr/local/software/bak/lianci备份年月日.sql

也可以登录mysql用source恢复

  1. mysql> source /usr/local/software/bak/lianci备份年月日.sql

2、还原其他文件

用ossutil64命令下载最新的回来再对应解压或者重命名即可
1、必须先还原musics20231206.tar.gz,后面再进入musics目录里面还原sentenceAudios20231206.tar.gz
2、必须先还原images20231206.tar.gz,后面再进入images目录里面还原所有的images年月.tar.gz
3、其它都放对应目录或则解压到对应目录即可

 64

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2