linux定時備份mysql資料庫
阿新 • • 發佈:2018-12-09
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備份,防止磁碟佔滿