数据库分库分表备份+任务定时计划,凌晨执行。
1.做主从复制。(见第一篇博客)
2.编写脚本
#!/bin/bash date=`date +%Y-%m-%d` database=`mysql -e "show databases;" | grep -v Database` for db in $database do [ -d /opt/$date/$db ] || mkdir -p /opt/$date/$db mysqldump --skip-lock-tables $db > /opt/$date/$db.sql table=`mysql -e "show tables from $db" | grep -v Tables` for t in $table do mysqldump --skip-lock-tables $db $t > /opt/$date/$db/$t.sql done done
由于我myql没有设置密码,所以直接“mysql -e” 如果设置密码的是为 “mysqldump -uroot -p密码 ”
3.执行脚本
[root@192 ~]# ./back_mysql.sh
4.制定任务定时计划
crontab -e
00 00 * * * /root/back_mysql.sh
5.查看任务计划
crontab -l