MySQL是常用的關系型數據庫管理系統(tǒng),備份數據庫是非常重要的一個任務, MySQL備份分為全備和增備,如果數據很重要,建議使用全備和增備的混合備份方式。下面介紹一下MySQL全備與增備腳本。
MySQL全備腳本
#! /bin/bash
# Get current time
dat=`date +%Y%m%d`
# Directory to store the backup
dir="/backup/db/fullbackup"
# Create the directory if it does not exist
mkdir -p "${dir}/${dat}"
# MySQL username
user="root"
# MySQL password
password="password"
# MySQL databases to backup
database="mydatabase"
# Backup the database
mysqldump --user=${user} --password=${password} --database ${database} >${dir}/${dat}/${database}-${dat}.sql
# Compress the backup file
gzip ${dir}/${dat}/${database}-${dat}.sql
使用該腳本將MySQL數據庫mydatabase備份到目錄/backup/db/fullbackup中,并以當前日期為文件名進行壓縮。
MySQL增備腳本
#! /bin/bash
# Get current time
dat=`date +%Y%m%d`
# Directory to store the backup
dir="/backup/db/incrementbackup"
# Create the directory if it does not exist
mkdir -p "${dir}/${dat}"
# MySQL username
user="root"
# MySQL password
password="password"
# MySQL databases to backup
database="mydatabase"
# Get the last backup file
lastfile=`ls -t1 "${dir}" | head -n1`
# Get the last backup datetime
lastdat=`echo $lastfile | sed 's/.*-\(.*\)\.sql\.gz/\1/'`
# Backup the differences
mysqldump --user=${user} --password=${password} --database ${database} --where="update_time >'${lastdat}'" >${dir}/${dat}/${database}-${dat}.sql
# Compress the backup file
gzip ${dir}/${dat}/${database}-${dat}.sql
使用該腳本將MySQL數據庫mydatabase在上一次備份之后產生更改的部分備份到目錄/backup/db/incrementbackup中,并以當前日期為文件名進行壓縮。
下一篇vue js 校驗