【前面的话】由于服务器快到期了,就重新另购了一台服务器。这边就来记录一下迁移的过程和日常数据备份等等。
壹、站点概览
我的站点使用halo
搭建的,主要涉及到的中间件有:Nginx
、Mysql
等;日常运行产生的数据有站点运行数据和资源数据,所以站点迁移也会从这些方面着手。
贰、中间件迁移
2.1、Nginx
其实Nginx
的迁移很简单,只需要在新的服务器中安装即可,然后迁移nginx.conf
配置文件。我的站点还用到https
,所有在安装的时候要注意安装相应的模块以及证书的迁移。
1 | ./configure --prefix=/usr/local/nginx --add-module=../ngx_cache_purge-1.3/ --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module |
2.2、Mysql
在新的服务器安装Mysql
服务,然后导入sql文件即可:
1 | mysqldump -u$db_user -p$db_password $db_name | gzip > /home/firbackup/halodb.sql.gz |
叁、资源数据
对于资源数据,主要是halo
产生的主题以及上传的文章的图片等等。就直接采用压缩打包,然后发送到新服务器再解压即可。
1 | tar czvf /home/firbackup/halo.tar.gz /root/.halo |
1 | #如果在同一个内网,记得使用内网ip,速度会更快哦 |
然后再解压到/root/.halo
文件夹即可
肆、重新启动
配置域名解析和相应的安全策略以及安装JDK
之后,你就可以重新启动halo
服务就好,到这里站点迁移工作就完成了。
【后面的话】
日常备份也就是应用的配置文件以及应用产生的必要数据的备份。我这边的方案是定时打包压缩之后发送到邮箱中。下面给出具体脚本:
安装配置mailx
1 | yum -y install mailx |
1 | vim /etc/mail.rc |
如果在测试执行脚本,发现发送报错的话,那就是证书有问题,只需要在上面提到的/root/.certs/
文件夹中放置163邮箱
的证书即可。
1 | Resolving host smtp.163.com . . . done. |
编写脚本
1 |
|
配置定时任务
1 | [[email protected] /home]#crontab -e |
到这里你只需要去邮箱中下载备份的数据就好了。另外邮箱发送附件是有大小限制的,每个邮箱的具体情况不一。另外对于文章中的图片数据可以上传到又拍云
等云存储中即可。最后一句话道路千万条,数据备份第一条
。