1.在mnt文件夾中新建文件夾存放備份sql。
2.在mnt文件夾下新建文件夾存放腳本 。
backup_database.sh腳本內容如下 :
#!/bin/bash
baseDir="/mnt/data_dump/";
cd "$baseDir";
echo "開始備份數據庫";
echo `mysqldump -hlocalhost -u用戶明 -p密碼 --default-character-set=utf8 數據庫名 > database_dump_$(date +%Y%m%d_%H%M%S).sql`;
echo "備份數據完成";
oldDate=`date --date='8 day ago' +%Y%m%d`;
#刪除當前日期-8的備份
echo `rm -rf database_dump_$oldDate*`;
echo "刪除$oldDate的備份成功"
先執行 ./backup_database.sh腳本,驗證腳本是否可行
如果執行腳本遇到如下錯誤:
加入如下一段內容 : --socket=/var/lib/mysql/mysql.sock
#!/bin/bash
baseDir="/mnt/data_dump/";
cd "$baseDir";
echo "開始備份數據庫";
echo `mysqldump -hlocalhost -u用戶明 -p密碼 --socket=/var/lib/mysql/mysql.sock --default-character-set=utf8 數據庫名 > database_dump_$(date +%Y%m%d_%H%M%S).sql`;
echo "備份數據完成";
oldDate=`date --date='8 day ago' +%Y%m%d`;
#刪除當前日期-8的備份
echo `rm -rf database_dump_$oldDate*`;
echo "刪除$oldDate的備份成功"
通過chmod 777 backup_database.sh來賦權限,授權執行權限。
在添加執行的定時任務:
vim /etc/crontab
#添加一條記錄
0 0 0 * * ? root /mnt/dump/backup_database.sh