如何實作MySQL資料庫備份?可以使用用於MySQL資料庫備份的bash腳本。在本篇文章中,我們將介紹一個簡單的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中文網其他相關文章!