對于使用CentOS 7的MySQL數據庫,定期備份數據是非常重要的一項工作。下面我們來介紹如何使用腳本實現MySQL定時備份。
首先,我們需要創建一個名為“mysql_backup.sh”的腳本文件,代碼如下:
#!/bin/sh
# 定義備份文件的路徑
BACKUP_DIR=/var/mysql_backup
# 定義MySQL的用戶名和密碼
MYSQL_USER=root
MYSQL_PASSWORD=your_password
# 定義備份文件的名稱
BACKUP_FILE=mysql_backup-$(date +%Y%m%d%H%M).sql
# 執行備份命令
/usr/bin/mysqldump -u${MYSQL_USER} -p${MYSQL_PASSWORD} --all-databases >${BACKUP_DIR}/${BACKUP_FILE}
# 壓縮備份文件
cd ${BACKUP_DIR} && tar zcvf ${BACKUP_FILE}.tar.gz ${BACKUP_FILE} && rm -f ${BACKUP_FILE}
代碼解釋:
- BACKUP_DIR:備份文件存儲路徑。
- MYSQL_USER和MYSQL_PASSWORD:MySQL的用戶名和密碼。
- BACKUP_FILE:備份文件的名稱,格式為mysql_backup-年月日小時分鐘.sql。
- /usr/bin/mysqldump -u${MYSQL_USER} -p${MYSQL_PASSWORD} --all-databases:備份所有數據庫。
- cd ${BACKUP_DIR} && tar zcvf ${BACKUP_FILE}.tar.gz ${BACKUP_FILE} && rm -f ${BACKUP_FILE}:將備份文件壓縮并刪除原文件。
接下來,我們需要使用crontab命令來定時執行備份腳本。使用以下命令打開crontab編輯器:
crontab -e
在文件末尾添加以下代碼:
0 0 * * * /bin/sh /var/mysql_backup.sh
代碼解釋:
- 0 0 * * *:表示在每天的0點0分執行備份腳本。
- /bin/sh /var/mysql_backup.sh:執行備份腳本的命令。
保存并退出編輯器,備份腳本就會按照設定時間自動執行了。