CentOS7.X 掛載磁碟 與Mysql 自動備份

魏楊楊發表於2020-12-03

1、前言

       搞了好幾天終於弄了出來,簡單記錄一下。注意以下教程是在測試伺服器基礎上編寫 如資料盤含有資料切勿使用此教程,如對命令列不熟悉的 不建議搞哈 。本文中的磁碟/dev/sdb為筆者測試伺服器上的命名,在您的伺服器中可能是/dev/xdb、/dev/vdb、/dev/xvdb等等,請根據實際情況進行修改

2、建立掛載目錄 www

mkdir -p /www

3、確認是否沒有分割槽的磁碟

fdisk -l

如下圖,沒有分割槽的磁碟是/dev/vdb,在您的伺服器中可能是/dev/sdb,請注意按照實際名稱修改 I/O size (minimum/optimal): 512 bytes / 512 bytes 與 /dev/vdb1 2048 167772159 83885056 83 Linux  之間沒有內容就是沒有分割槽的

4、磁碟分割槽 若已分割槽,可跳過

fdisk /dev/vdb

 

 

然後輸入n開始建立分割槽

輸入p建立主分割槽

選擇分割槽號 輸入1

輸入分割槽開始位置,直接回車

輸入wq 回車退出

5、檢查是否分割槽成功(帶有sdb1/vdb1/xvb1說明成功)

fdisk -l

 

6、格式化分割槽

mkfs.ext4 /dev/vdb1

 

 

 

7、將分割槽掛載資訊新增到配置檔案/etc/fstab中,實現開機/重啟自動掛載

echo "/dev/vdb1 /www ext4 defaults 0 0" >> /etc/fstab
mount -a 
df -h 

 

重新掛載所有分割槽 mount -a 

檢查是否掛載成功  df -h

8、Mysql的自動備份

沒有安裝mysql的自己安裝一下就不貼教程了

8.1、在掛載磁碟新建資料夾 databack 在databack資料夾下面新建一個back.sh指令碼檔案

 

#!/bin/bash
DATE=`date +%Y%m%d%H%M`                #every minute 時間
DATABASE=hosp_mobile                   #database name資料庫名稱
DB_USERNAME=root                       #database username使用者名稱
DB_PASSWORD="mysql"                    #database password密碼
BACKUP_PATH=/www/databack              #backup path 備份路徑

#backup command 命令

/usr/bin/mysqldump -u$DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -R --opt $DATABASE | gzip > ${BACKUP_PATH}\/${DATABASE}_${DATE}.sql.gz

#just backup the latest 15 days//儲存15天的

find ${BACKUP_PATH} -mtime +15 -name "${DATABASE}_*.sql.gz" -exec rm -f {} \;

 

8.2、跳轉到這個目錄 

chmod +x back.sh
crontab -e
00 1 * * * /root/database_backup_shell.sh
crontab -l 

給指令碼授權 chmod +x back.sh

編寫定時備份任務  crontab -e

輸入凌晨1點備份命令 00 1 * * * /root/database_backup_shell.sh    按desc 再按:wq 儲存退出

檢視定時任務 crontab -l 

 

 

可實現每天凌晨三點自動執行第一步編寫的指令碼,備份mysql資料庫到www//backdata,且只保留最近15天的資料庫備份。

怎麼樣 你學廢了沒有?

每日一句雞湯喝喝:一個人,如果不逼自己一把,就根本不知道自己有多優秀。每個人都有潛能的,所以,當面對壓力時,要相信自己,一切都能處理得好。人只有壓力才會有動力,窮者思變,時世造英雄,逼急了好漢可以上梁山。一個人的成長,必須通過磨鍊。有時候,必須對自己狠一次,否則永遠也活不出自己。

本文連線:https://www.cnblogs.com/w5942066/p/14082014.html

相關文章