1. 程式人生 > >linux定時備份mysql資料庫

linux定時備份mysql資料庫

1、檢視磁碟空間情況:

[[email protected] backup]# df -h
檔案系統                 容量  已用  可用 已用% 掛載點
/dev/mapper/centos-root   17G  2.7G   15G   16% /
devtmpfs                 476M     0  476M    0% /dev
tmpfs                    488M     0  488M    0% /dev/shm
tmpfs                    488M  7.7M  480M    2% /run
tmpfs                    488M     0  488M    0% /sys/fs/cgroup
/dev/sda1               1014M  130M  885M   13% /boot
tmpfs                     98M     0   98M    0% /run/user/0
[
[email protected]
backup]#

選擇合適磁碟存放備份檔案

2、建立備份目錄:

cd /home
mkdir backup
cd backup

3、建立備份Shell指令碼:

在建立的目錄下建立備份指令碼(vi bkDatabaseName.sh)

#!/bin/bash
mysqldump -uroot -proot rtak > /data/backup/rtak_$(date +%Y%m%d_%H%M%S).sql
mysqldump -uroot -proot rtak | gzip > /data/backup/rtak_$(date +%Y%m%d_%H%M%S).sql.gz

注:

bkDatabaseName.sh 替換成有意思的名稱

sql備份與gz備份可以二選一,也可全備份

使用者名稱密碼需要替換

4、新增可執行許可權:

chmod u+x bkDatabaseName.sh

測試檔案是否可正常執行(./bkDatabaseName.sh)

注:(1)如果報錯 mysqldump: 未找到命令,執行

ln -fs /usr/local/mysql/bin/mysqldump /usr/bin (/usr/local/mysql 路徑為mysql安裝路徑)

(2)如果有警告(Warning: Using a password on the command line interface can be insecure.) 可以忽略。

(3)檢視備份sql檔案是否正常,能否正常匯入資料庫

5、新增計劃任務

確認crontab是否安裝: 

執行 crontab 命令如果報 command not found,就表明沒有安裝

執行命令:

crontab -e

輸入以下內容並儲存:

*/* * 1 * * /data/backup/bkDatabaseName.sh

 /* * 1 * * /  幾個* 分別代表 分鐘 小時 日期 月 星期幾 執行備份操作

例如:每分鐘執行備份 /1 * * * * /    (已測試)

           每天凌晨3點執行備份/00 3 * * * /    (未測試

6、停止備份操作

在不需要定時備份的時候,執行該操作,正常流程到第五步就完成了 ~

crontab -r

注:及時清理已過期很久的sql備份,防止磁碟佔滿