首頁  >  文章  >  運維  >  用於MySQL資料庫備份的簡單bash腳本的介紹

用於MySQL資料庫備份的簡單bash腳本的介紹

不言
不言原創
2019-03-23 13:35:083356瀏覽

如何實作MySQL資料庫備份?可以使用用於MySQL資料庫備份的bash腳本。在本篇文章中,我們將介紹一個簡單的bash腳本用於備份MySQL資料庫,將備份歸檔並儲存在本機系統上。此bash腳本也會從磁碟中刪除舊備份以釋放空間。也可以指定在本機磁碟上保留備份的天數。

用於MySQL資料庫備份的簡單bash腳本的介紹       

建立MySQL備份腳本

現在,將下列內容複製到腳本檔案中(如/backup/mysql backup.sh ),並保存在Linux系統上。之後,根據你的環境在腳本的「Update below values」部分中更改一些配置值

#!/bin/bash
 
################################################################
##
##   MySQL Database Backup Script 
##   Written By: Rahul Kumar
##   URL: https://tecadmin.net/bash-script-mysql-database-backup/
##   Last Update: Jan 05, 2019
##
################################################################
 
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date +"%d%b%Y"`
 
################################################################
################## Update below values  ########################
 
DB_BACKUP_PATH='/backup/dbbackup'
MYSQL_HOST='localhost'
MYSQL_PORT='3306'
MYSQL_USER='root'
MYSQL_PASSWORD='mysecret'
DATABASE_NAME='mydb'
BACKUP_RETAIN_DAYS=30   ## Number of days to keep local backup copy
 
#################################################################
 
mkdir -p ${DB_BACKUP_PATH}/${TODAY}
echo "Backup started for database - ${DATABASE_NAME}"
 
 
mysqldump -h ${MYSQL_HOST} \
   -P ${MYSQL_PORT} \
   -u ${MYSQL_USER} \
   -p${MYSQL_PASSWORD} \
   ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz
 
if [ $? -eq 0 ]; then
  echo "Database backup successfully completed"
else
  echo "Error found during backup"
fi
 
 
##### Remove backups older than {BACKUP_RETAIN_DAYS} days  #####
 
DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`
 
if [ ! -z ${DB_BACKUP_PATH} ]; then
      cd ${DB_BACKUP_PATH}
      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
            rm -rf ${DBDELDATE}
      fi
fi
 
### End of script ####

建立或下載腳本後,請確保設定執行權限才能正常運作。

$ chmod + x /backup/mysql-backup.sh

在Crontab中安排腳本

現在,在crontab中安排腳本每天運行並定期完成備份。使用crontab -e指令在系統上編輯crontab 。新增以下設定以在早上2點啟用備份。

在crontab中排程腳本

現在在crontab中安排腳本每天執行,並且定期完成備份。使用crontab-e指令在系統上編輯crontab。新增以下設定以在早上2點啟用備份。

0 2 * * * root /backup/mysql-backup.sh

儲存你的crontab檔。啟用cron後,腳本將自動進行備份,但請需要每週或每月檢查以確保已備份。

這篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注PHP中文網的Linux影片教學專欄!

以上是用於MySQL資料庫備份的簡單bash腳本的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn