MySQL定時備份
2016年9月26日
14:18
最重要的要點
注意事項:
1.測試腳本是否正常執行
2.備份文件放在可用容量大的磁盤(df)
3.mysqldump不要使用軟鏈接,直接使用全路徑
1.編寫備份腳本backup.sh
腳本1:
#!/bin/bash
/usr/local/mysql/bin/mysqldump -uroot -p123mhub >
/home/zs/software/mysqlbackup/mhub_$(date+%Y%m%d).sql
腳本2:
#!/bin/bash
/usr/local/mysql/bin/mysqldump -uroot -p123mhub | gzip >
/home/zs/software/mysqlbackup/mhub_$(date+%Y%m%d).sql.gz
2.加權限
chmod 777 backup.sh
#給腳本添加權限
3.測試腳本能否備份
能備份再往下一步
4.編輯crontab
crontab -e
#編輯定期調度
*/1 * * * * /home/zs/software/mysqlbackup/backup.sh
#每分鐘調用一次腳本
crontab -l
#查看是否編輯成功
5.觀察日誌看能夠執行並生成備份sql
tail -f /var/log/cron
#查看腳本執行情況
6.還原數據庫
腳本1:
source sql文件存放路徑
#還原數據庫
腳本2:
gzip -d sql文件.gz
source sql文件存放路徑
#解壓成sql
#還原數據庫
問題
1:直接使用執行腳本可以備份,使用crontab備份只有0KB,沒有數據
原因:使用mysqldump命令時沒有指定全路徑
解決:使用mysqldump的全路徑,而不要使用軟鏈接
參考