如何實現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后,腳本將自動進行備份,但請需要每周或每月檢查以確保已經備份。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END