Linux下MySQL資料庫自動定時備份
1、查看磁碟空間情況
[root@server]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 39G 6.4G 30G 18% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/vda1 976M 146M 764M 16% /boot
/dev/vdb1 99G 996M 93G 2% /mnt/sdc
2、創建備份目錄
/mnt/sdc 為掛載雲盤,空間比較充足,所以進入該目錄創建保存備份文件目錄;
cd /mnt/sdc
mkdir backup
3、創建備份Shell腳本
cd backup
vi backup_mysql.sh
數據文件按日期存儲
#!/bin/bash
/usr/soft/mysql/bin/mysqldump -uroot -pqdhlm. collector > /mnt/sdc/backup/collector/`date +%Y%m%d_%H%M%S`.sql
另:對備份文件進行壓縮處理:
#!/bin/bash
/usr/soft/mysql/bin/mysqldump -uroot -pqdhlm. collector | gzip > /mnt/sdc/backup/collector/`date +%Y%m%d_%H%M%S`.sql.gz
注意:
- -u -p之後沒有空格;
- 使用crontab,mysqldump命令必須是絕對路徑。
4、添加可執行許可權
chmod +x backup_mysql.sh
操作完成後先執行一下,看看腳本有沒有錯誤,能不能正常使用:
./backup_mysql.sh
5、添加計劃任務
crontab -e
輸入內容,保存
*/1 * * * * /home/backup/backup_mysql.sh
6、測試任務是否執行
ls /mnt/sdc/backup/collector/
若有文件生成,則表示執行成功;如果任務執行失敗了,可以通過以下命令查看任務日誌:
tail -f /var/log/cron
=======================================================
crontab釋義:
minute hour day month week command
其中:
minute: 表示分鐘,可以是從0到59之間的任何整數。
hour:表示小時,可以是從0到23之間的任何整數。
day:表示日期,可以是從1到31之間的任何整數。
month:表示月份,可以是從1到12之間的任何整數。
week:表示星期幾,可以是從0到7之間的任何整數,這裡的0或7代表星期日。
command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。
推薦閱讀: