数据库备份策略
- 备份的数据库
服务器:10.10.10.254、10.2.11.10
数据库:gps6
备份的表: user_info alarminfo electronic_fence jpush last_point nav_device_info nav_mac_type_client_type_group nav_target_group nav_target_group nav_voice_recode sim_info user_device_tmp user_email user_info user_order web_column_info web_sms_send web_user_mail web_user_relevance_mac
- 备份方案
备份脚本:/data/mysql.sh
数据库备份地址:/data/mysql/backup
定时执行脚本:0 3 * * * /data/mysql.sh
执行时间:每天凌晨3:00执行
备份保存:15天
- 实行流程
1) 创建备份脚本/data/mysql.sh
#!/bin/bash #设置mysql备份目录 folder=/data/mysql/backup cd $folder day=`date +%Y%m%d` rm -rf $day mkdir $day cd $day #数据库服务 ip host=localhost #用户名 user=root #密码 #&这些需要转义加\ password=fhxt\&cl15\# #要备份的数据库 db=gps6 #需要备份的 tables tables=(user_info alarminfo electronic_fence jpush last_point nav_device_info nav_mac_type_client_type_group nav_target_group nav_target_group nav_voice_recode sim_info user_device_tmp user_email user_info user_order web_column_info web_sms_send web_user_mail web_user_relevance_mac) echo "================ 开始备份.. =================" # 遍历备份的数据库表 for t in ${tables[@]}; do backup_file="${t}.sql" if [ ! -e "$backup_file" ]; then rm -f "$backup_file" fi # 最核心的就是这句话,使用mysqldump命令执行备份 # $db $t 数据库 相应的表 mysqldump -h${host} -u${user} -p${password} $db $t >$backup_file done finish_date=`date '+%Y-%m-%d %H:%M:%S'` echo "================ 结束备份... at ${finish_date}.===" #数据要保留的天数 days=15 cd .. day=`date -d "$days days ago" +%Y%m%d` #删除 相应的文件 rm -rf $day |
2) 编写定时执行脚本命令
执行命令:crontab -e
添加定时脚本:0 3 * * * /data/mysql.sh
3) 查看定时任务
命令:crontab -l