【前面的話】由于服務器快到期了,就重新另購了一臺服務器,這邊就來記錄一下遷移的程序和日常資料備份等等,
壹、站點概覽
我的站點使用halo搭建的,主要涉及到的中間件有:Nginx、Mysql等;日常運行產生的資料有站點運行資料和資源資料,所以站點遷移也會從這些方面著手,
貳、中間件遷移
2.1、Nginx
其實Nginx的遷移很簡單,只需要在新的服務器中安裝即可,然后遷移nginx.conf組態檔,我的站點還用到https,所有在安裝的時候要注意安裝相應的模塊以及證書的遷移,
./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檔案即可:
mysqldump -u$db_user -p$db_password $db_name | gzip > /home/firbackup/halodb.sql.gz
叁、資源資料
對于資源資料,主要是halo產生的主題以及上傳的文章的圖片等等,就直接采用壓縮打包,然后發送到新服務器再解壓即可,
tar czvf /home/firbackup/halo.tar.gz /root/.halo
#如果在同一個內網,記得使用內網ip,速度會更快哦
scp halo.tar.gz [email protected]:/root/
然后再解壓到/root/.halo 檔案夾即可
肆、重新啟動
配置域名決議和相應的安全策略以及安裝JDK之后,你就可以重新啟動halo服務就好,到這里站點遷移作業就完成了,
【后面的話】
日常備份也就是應用的組態檔以及應用產生的必要資料的備份,我這邊的方案是定時打包壓縮之后發送到郵箱中,下面給出具體腳本:
安裝配置mailx
yum -y install mailx
vim /etc/mail.rc
#添加如下配置
set ssl-verify=ignore
set nss-config-dir=/root/.certs/ #使用命令find / -name "cert*.db" 查找位置(根據自身系統而定)
#weikeyi 發送email的設定
set [email protected] #163郵箱賬號
set smtp=smtps://smtp.163.com:465 ###smtp服務商#埠465#smtps協議
set [email protected] #與上郵箱相同
set smtp-auth-password=yourpasswd #自己的授權碼#非郵箱密碼
set smtp-auth=login
如果在測驗執行腳本,發現發送報錯的話,那就是證書有問題,只需要在上面提到的/root/.certs/檔案夾中放置163郵箱的證書即可,
Resolving host smtp.163.com . . . done.
Connecting to 220.181.12.11:465 . . . connected.
Error initializing NSS: Unknown error -8015.
"/root/dead.letter" 236028/17228757
. . . message not sent.
Resolving host smtp.163.com . . . done.
Connecting to 220.181.12.16:465 . . . connected.
Error initializing NSS: Unknown error -8015.
"/root/dead.letter" 6966/507305
. . . message not sent.
Resolving host smtp.163.com . . . done.
Connecting to 220.181.12.11:465 . . . connected.
Error initializing NSS: Unknown error -8015.
"/root/dead.letter" 324/22426
. . . message not sent.
Resolving host smtp.163.com . . . done.
Connecting to 220.181.12.14:465 . . . connected.
Error initializing NSS: Unknown error -8015.
"/root/dead.letter" 48/2440
. . . message not sent.
Resolving host smtp.163.com . . . done.
Connecting to 220.181.12.17:465 . . . connected.
Error initializing NSS: Unknown error -8015.
"/root/dead.letter" 342/10021
. . . message not sent.
撰寫腳本
#!/bin/bash
#firbackup 檔案和 and database
###################洗掉halo備份#################
rm -fr /home/firbackup/halo_$(date -d '7 days ago' +%Y%m%d).tar.gz
###################備份halo#################
tar czvf /home/firbackup/halo_$(date +%Y%m%d).tar.gz /root/.halo
echo 'halo備份的下載地址:http://eelve.com/bp/'halo_$(date +%Y%m%d).tar.gz >> /home/firbackup/info_$(date +%Y%m%d).txt
###################洗掉備份資料庫####################
rm -fr /home/firbackup/halodb_$(date -d '7 days ago' +%Y%m%d).sql.gz
###################備份halodb資料庫####################
db_user="root" #輸入你的資料庫用戶名
db_password="root" #輸入你的資料庫密碼
db_name="halodb" #輸入你要備份的資料庫名
mysqldump -u$db_user -p$db_password $db_name | gzip > /home/firbackup/halodb_$(date +%Y%m%d).sql.gz
echo 'halo資料庫備份的下載地址:http://eelve.com/bp/'halodb_$(date +%Y%m%d).sql.gz >> /home/firbackup/info_$(date +%Y%m%d).txt
###################準備開始發郵件###############
cd /home/firbackup/
###################郵件發halo資料庫備份###############
mailx -v -s "請注意查收"$(date +%Y%m%d)"halo資料庫的相關備份" -a halodb_$(date +%Y%m%d).sql.gz [email protected]<halodb_$(date +%Y%m%d).sql.gz
配置定時任務
[root@fir /home]#crontab -e
##每天定時01:00:00 執行腳本 /home/firbackup.sh
0 1 * * * sh /home/firbackup.sh
##每天凌晨2點重啟springboot應用
0 2 * * * sh /home/auto_restart_springboots.sh
到這里你只需要去郵箱中下載備份的資料就好了,另外郵箱發送附件是有大小限制的,每個郵箱的具體情況不一,另外對于文章中的圖片資料可以上傳到又拍云等云存盤中即可,最后一句話道路千萬條,資料備份第一條,

本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/243468.html
標籤:Java
上一篇:站點遷移指北
