分享 | 交流
让学习成为一种习惯

分库分表归类备份数据库

1、分库分表归类备份脚本

#!/bin/bash
#define var
set -x
user="root"
pass="123456"
path="/opt/backup/"
cmd="mysql -u$user -p$pass"
dump="mysqldump -u$user -p$pass --events -x --master-data=2"
#system function
. /etc/init.d/functions
. /etc/profile
#judge dir
function jdir(){
	if [ ! -e $path ];then
		mkdir $path -p
	fi
}
#dump database
function bk(){
	for dbname in `$cmd -e 'show databases;'|awk 'NR>1{print $0}'|grep -Ev "Database|information_schema|performance_schema|mysql"`
	do
		for tname in `$cmd -e "show tables from $dbname"|sed "1d"`
		do
			mkdir $path/$dbname -p
			$dump $dbname $tname|gzip >$path/$dbname/${dbname}_${tname}_$(date +%F).sql.gz
			if [ -e $path/$dbname/${dbname}_${tname}_$(date +%F).sql.gz ];then
				echo "${dbname}_${tname}_$(date +%F)" >>$path/mysql_table.log
			fi

		done
		$dump $dbname|gzip >$path/$dbname/${dbname}_$(date +%F).sql.gz
		if [ -e $path/$dbname/${dbname}_$(date +%F).sql.gz ];then
			echo "${dbname}_$(date +%F)" >>$path/mysql_database.log
		fi
		cd $path && tar -zcf ${dbname}_$(date +%F).tar.gz ${dbname}
	done
}
function main(){
	jdir
	bk
}
main
find $path -type f -mtime +7 -exec rm -rf {} \;

效果展示

[root@freessrr backup]# ls
cockpit                    fatcat_2018-01-07.tar.gz   mysql_table.log
cockpit_2018-01-04.tar.gz  fatcat_2018-01-09.tar.gz   ssrpanel
cockpit_2018-01-07.tar.gz  fatcat_2018-01-11.tar.gz   ssrpanel_2018-01-04.tar.gz
cockpit_2018-01-09.tar.gz  fatcat2_2018-01-04.tar.gz  ssrpanel_2018-01-07.tar.gz
cockpit_2018-01-11.tar.gz  fatcat2_2018-01-07.tar.gz  ssrpanel_2018-01-09.tar.gz
fatcat                     fatcat2_2018-01-09.tar.gz  ssrpanel_2018-01-11.tar.gz
fatcat2                    fatcat2_2018-01-11.tar.gz
fatcat_2018-01-04.tar.gz   mysql_database.log
[root@freessrr backup]# cat mysql_database.log 
cockpit_2018-01-11
fatcat_2018-01-11
fatcat2_2018-01-11
ssrpanel_2018-01-11
cockpit_2018-01-01
fatcat_2018-01-01
fatcat2_2018-01-01
ssrpanel_2018-01-01
cockpit_2018-01-01
fatcat_2018-01-01
fatcat2_2018-01-01
ssrpanel_2018-01-01
cockpit_2018-01-01
fatcat_2018-01-01
fatcat2_2018-01-01
ssrpanel_2018-01-01
cockpit_2018-01-02
fatcat_2018-01-02
fatcat2_2018-01-02
ssrpanel_2018-01-02
cockpit_2018-01-04
fatcat_2018-01-04
fatcat2_2018-01-04
ssrpanel_2018-01-04
cockpit_2018-01-09
fatcat_2018-01-09
fatcat2_2018-01-09
ssrpanel_2018-01-09
cockpit_2018-01-07
fatcat_2018-01-07
fatcat2_2018-01-07
ssrpanel_2018-01-07
cockpit_2018-01-11
fatcat_2018-01-11
fatcat2_2018-01-11
ssrpanel_2018-01-11
[root@freessrr backup]# cat mysql_table.log 
cockpit_article_2018-01-11
cockpit_article_log_2018-01-11
cockpit_config_2018-01-11
cockpit_country_2018-01-11
cockpit_coupon_2018-01-11
cockpit_coupon_log_2018-01-11
cockpit_email_log_2018-01-11
cockpit_goods_2018-01-11
cockpit_invite_2018-01-11
cockpit_level_2018-01-11
cockpit_migrations_2018-01-11
cockpit_order_2018-01-11
cockpit_order_goods_2018-01-11
cockpit_payment_2018-01-11
cockpit_referral_apply_2018-01-11
cockpit_referral_log_2018-01-11
cockpit_ss_config_2018-01-11
cockpit_ss_group_2018-01-11
cockpit_ss_group_node_2018-01-11
cockpit_ss_node_2018-01-11
cockpit_ss_node_info_2018-01-11
cockpit_ss_node_online_log_2018-01-11
cockpit_ss_node_traffic_daily_2018-01-11
cockpit_ss_node_traffic_hourly_2018-01-11
cockpit_ticket_2018-01-11
cockpit_ticket_reply_2018-01-11
cockpit_user_2018-01-11
cockpit_user_balance_log_2018-01-11
cockpit_user_ban_log_2018-01-11
cockpit_user_score_log_2018-01-11
cockpit_user_subscribe_2018-01-11
cockpit_user_subscribe_log_2018-01-11
cockpit_user_traffic_daily_2018-01-11
cockpit_user_traffic_hourly_2018-01-11
cockpit_user_traffic_log_2018-01-11
cockpit_verify_2018-01-11
fatcat_article_2018-01-11
fatcat_article_log_2018-01-11
fatcat_config_2018-01-11
fatcat_country_2018-01-11
fatcat_coupon_2018-01-11
fatcat_coupon_log_2018-01-11
fatcat_email_log_2018-01-11
fatcat_goods_2018-01-11
fatcat_invite_2018-01-11
fatcat_level_2018-01-11
fatcat_migrations_2018-01-11
fatcat_order_2018-01-11
fatcat_order_goods_2018-01-11
fatcat_referral_apply_2018-01-11
fatcat_referral_log_2018-01-11
fatcat_ss_config_2018-01-11
fatcat_ss_group_2018-01-11
fatcat_ss_group_node_2018-01-11
fatcat_ss_node_2018-01-11
fatcat_ss_node_info_2018-01-11
fatcat_ss_node_online_log_2018-01-11
fatcat_ss_node_traffic_daily_2018-01-11
fatcat_ss_node_traffic_hourly_2018-01-11
fatcat_ticket_2018-01-11
fatcat_ticket_reply_2018-01-11
fatcat_user_2018-01-11
fatcat_user_balance_log_2018-01-11
fatcat_user_ban_log_2018-01-11
fatcat_user_score_log_2018-01-11
fatcat_user_subscribe_2018-01-11
fatcat_user_subscribe_log_2018-01-11
fatcat_user_traffic_daily_2018-01-11
fatcat_user_traffic_hourly_2018-01-11
fatcat_user_traffic_log_2018-01-11
fatcat_verify_2018-01-11
fatcat2_article_2018-01-11
fatcat2_article_log_2018-01-11
fatcat2_config_2018-01-11
fatcat2_country_2018-01-11
fatcat2_coupon_2018-01-11
fatcat2_coupon_log_2018-01-11
fatcat2_email_log_2018-01-11
fatcat2_goods_2018-01-11
fatcat2_invite_2018-01-11
fatcat2_level_2018-01-11
fatcat2_order_2018-01-11
fatcat2_order_goods_2018-01-11
fatcat2_payment_2018-01-11
fatcat2_paypal_2018-01-11
fatcat2_referral_apply_2018-01-11
fatcat2_referral_log_2018-01-11
fatcat2_ss_config_2018-01-11
fatcat2_ss_group_2018-01-11
fatcat2_ss_group_node_2018-01-11
fatcat2_ss_node_2018-01-11
fatcat2_ss_node_info_2018-01-11
fatcat2_ss_node_online_log_2018-01-11
fatcat2_ss_node_traffic_daily_2018-01-11
fatcat2_ss_node_traffic_hourly_2018-01-11
fatcat2_ticket_2018-01-11
fatcat2_ticket_reply_2018-01-11
fatcat2_user_2018-01-11
fatcat2_user_balance_log_2018-01-11
fatcat2_user_ban_log_2018-01-11
fatcat2_user_score_log_2018-01-11
fatcat2_user_subscribe_2018-01-11
fatcat2_user_subscribe_log_2018-01-11
fatcat2_user_traffic_daily_2018-01-11
fatcat2_user_traffic_hourly_2018-01-11
fatcat2_user_traffic_log_2018-01-11
fatcat2_verify_2018-01-11
ssrpanel_article_2018-01-11
ssrpanel_article_log_2018-01-11
ssrpanel_config_2018-01-11
ssrpanel_country_2018-01-11
ssrpanel_coupon_2018-01-11
ssrpanel_coupon_log_2018-01-11
ssrpanel_email_log_2018-01-11
ssrpanel_goods_2018-01-11
ssrpanel_invite_2018-01-11
ssrpanel_level_2018-01-11
ssrpanel_order_2018-01-11
ssrpanel_order_goods_2018-01-11
ssrpanel_payment_2018-01-11
ssrpanel_referral_apply_2018-01-11
ssrpanel_referral_log_2018-01-11
ssrpanel_ss_config_2018-01-11
ssrpanel_ss_group_2018-01-11
ssrpanel_ss_group_node_2018-01-11
ssrpanel_ss_node_2018-01-11
ssrpanel_ss_node_info_2018-01-11
ssrpanel_ss_node_online_log_2018-01-11
ssrpanel_ss_node_traffic_daily_2018-01-11
ssrpanel_ss_node_traffic_hourly_2018-01-11
ssrpanel_ticket_2018-01-11
ssrpanel_ticket_reply_2018-01-11
ssrpanel_user_2018-01-11
ssrpanel_user_balance_log_2018-01-11
ssrpanel_user_ban_log_2018-01-11
ssrpanel_user_score_log_2018-01-11
ssrpanel_user_subscribe_2018-01-11
ssrpanel_user_subscribe_log_2018-01-11
ssrpanel_user_traffic_daily_2018-01-11
ssrpanel_user_traffic_hourly_2018-01-11
ssrpanel_user_traffic_log_2018-01-11
ssrpanel_verify_2018-01-11
[root@freessrr backup]# tree . -L 2
.
├── cockpit
   ├── cockpit_2018-01-11.sql.gz
   ├── cockpit_article_2018-01-11.sql.gz
   ├── cockpit_article_log_2018-01-11.sql.gz
   ├── cockpit_config_2018-01-11.sql.gz
   ├── cockpit_country_2018-01-11.sql.gz
   ├── cockpit_coupon_2018-01-11.sql.gz
   ├── cockpit_coupon_log_2018-01-11.sql.gz
   ├── cockpit_email_log_2018-01-11.sql.gz
   ├── cockpit_goods_2018-01-11.sql.gz
   ├── cockpit_invite_2018-01-11.sql.gz
   ├── cockpit_level_2018-01-11.sql.gz
   ├── cockpit_migrations_2018-01-11.sql.gz
   ├── cockpit_order_2018-01-11.sql.gz
   ├── cockpit_order_goods_2018-01-11.sql.gz
   ├── cockpit_payment_2018-01-11.sql.gz
   ├── cockpit_referral_apply_2018-01-11.sql.gz
   ├── cockpit_referral_log_2018-01-11.sql.gz
   ├── cockpit_ss_config_2018-01-11.sql.gz
   ├── cockpit_ss_group_2018-01-11.sql.gz
   ├── cockpit_ss_group_node_2018-01-11.sql.gz
   ├── cockpit_ss_node_2018-01-11.sql.gz
   ├── cockpit_ss_node_info_2018-01-11.sql.gz
   ├── cockpit_ss_node_online_log_2018-01-11.sql.gz
   ├── cockpit_ss_node_traffic_daily_2018-01-11.sql.gz
   ├── cockpit_ss_node_traffic_hourly_2018-01-11.sql.gz
   ├── cockpit_ticket_2018-01-11.sql.gz
   ├── cockpit_ticket_reply_2018-01-11.sql.gz
   ├── cockpit_user_2018-01-11.sql.gz
   ├── cockpit_user_balance_log_2018-01-11.sql.gz
   ├── cockpit_user_ban_log_2018-01-11.sql.gz
   ├── cockpit_user_score_log_2018-01-11.sql.gz
   ├── cockpit_user_subscribe_2018-01-11.sql.gz
   ├── cockpit_user_subscribe_log_2018-01-11.sql.gz
   ├── cockpit_user_traffic_daily_2018-01-11.sql.gz
   ├── cockpit_user_traffic_hourly_2018-01-11.sql.gz
   ├── cockpit_user_traffic_log_2018-01-11.sql.gz
   └── cockpit_verify_2018-01-11.sql.gz
├── fatcat
   ├── fatcat_2018-01-11.sql.gz
   ├── fatcat_article_2018-01-11.sql.gz
   ├── fatcat_article_log_2018-01-11.sql.gz
   ├── fatcat_config_2018-01-11.sql.gz
   ├── fatcat_country_2018-01-11.sql.gz
   ├── fatcat_coupon_2018-01-11.sql.gz
   ├── fatcat_coupon_log_2018-01-11.sql.gz
   ├── fatcat_email_log_2018-01-11.sql.gz
   ├── fatcat_goods_2018-01-11.sql.gz
   ├── fatcat_invite_2018-01-11.sql.gz
   ├── fatcat_level_2018-01-11.sql.gz
   ├── fatcat_migrations_2018-01-11.sql.gz
   ├── fatcat_order_2018-01-11.sql.gz
   ├── fatcat_order_goods_2018-01-11.sql.gz
   ├── fatcat_referral_apply_2018-01-11.sql.gz
   ├── fatcat_referral_log_2018-01-11.sql.gz
   ├── fatcat_ss_config_2018-01-11.sql.gz
   ├── fatcat_ss_group_2018-01-11.sql.gz
   ├── fatcat_ss_group_node_2018-01-11.sql.gz
   ├── fatcat_ss_node_2018-01-11.sql.gz
   ├── fatcat_ss_node_info_2018-01-11.sql.gz
   ├── fatcat_ss_node_online_log_2018-01-11.sql.gz
   ├── fatcat_ss_node_traffic_daily_2018-01-11.sql.gz
   ├── fatcat_ss_node_traffic_hourly_2018-01-11.sql.gz
   ├── fatcat_ticket_2018-01-11.sql.gz
   ├── fatcat_ticket_reply_2018-01-11.sql.gz
   ├── fatcat_user_2018-01-11.sql.gz
   ├── fatcat_user_balance_log_2018-01-11.sql.gz
   ├── fatcat_user_ban_log_2018-01-11.sql.gz
   ├── fatcat_user_score_log_2018-01-11.sql.gz
   ├── fatcat_user_subscribe_2018-01-11.sql.gz
   ├── fatcat_user_subscribe_log_2018-01-11.sql.gz
   ├── fatcat_user_traffic_daily_2018-01-11.sql.gz
   ├── fatcat_user_traffic_hourly_2018-01-11.sql.gz
   ├── fatcat_user_traffic_log_2018-01-11.sql.gz
   └── fatcat_verify_2018-01-11.sql.gz
├── fatcat2
   ├── fatcat2_2018-01-11.sql.gz
   ├── fatcat2_article_2018-01-11.sql.gz
   ├── fatcat2_article_log_2018-01-11.sql.gz
   ├── fatcat2_config_2018-01-11.sql.gz
   ├── fatcat2_country_2018-01-11.sql.gz
   ├── fatcat2_coupon_2018-01-11.sql.gz
   ├── fatcat2_coupon_log_2018-01-11.sql.gz
   ├── fatcat2_email_log_2018-01-11.sql.gz
   ├── fatcat2_goods_2018-01-11.sql.gz
   ├── fatcat2_invite_2018-01-11.sql.gz
   ├── fatcat2_level_2018-01-11.sql.gz
   ├── fatcat2_order_2018-01-11.sql.gz
   ├── fatcat2_order_goods_2018-01-11.sql.gz
   ├── fatcat2_payment_2018-01-11.sql.gz
   ├── fatcat2_paypal_2018-01-11.sql.gz
   ├── fatcat2_referral_apply_2018-01-11.sql.gz
   ├── fatcat2_referral_log_2018-01-11.sql.gz
   ├── fatcat2_ss_config_2018-01-11.sql.gz
   ├── fatcat2_ss_group_2018-01-11.sql.gz
   ├── fatcat2_ss_group_node_2018-01-11.sql.gz
   ├── fatcat2_ss_node_2018-01-11.sql.gz
   ├── fatcat2_ss_node_info_2018-01-11.sql.gz
   ├── fatcat2_ss_node_online_log_2018-01-11.sql.gz
   ├── fatcat2_ss_node_traffic_daily_2018-01-11.sql.gz
   ├── fatcat2_ss_node_traffic_hourly_2018-01-11.sql.gz
   ├── fatcat2_ticket_2018-01-11.sql.gz
   ├── fatcat2_ticket_reply_2018-01-11.sql.gz
   ├── fatcat2_user_2018-01-11.sql.gz
   ├── fatcat2_user_balance_log_2018-01-11.sql.gz
   ├── fatcat2_user_ban_log_2018-01-11.sql.gz
   ├── fatcat2_user_score_log_2018-01-11.sql.gz
   ├── fatcat2_user_subscribe_2018-01-11.sql.gz
   ├── fatcat2_user_subscribe_log_2018-01-11.sql.gz
   ├── fatcat2_user_traffic_daily_2018-01-11.sql.gz
   ├── fatcat2_user_traffic_hourly_2018-01-11.sql.gz
   ├── fatcat2_user_traffic_log_2018-01-11.sql.gz
   └── fatcat2_verify_2018-01-11.sql.gz
├── mysql_database.log
├── mysql_table.log
└── ssrpanel
    ├── ssrpanel_2018-01-11.sql.gz
    ├── ssrpanel_article_2018-01-11.sql.gz
    ├── ssrpanel_article_log_2018-01-11.sql.gz
    ├── ssrpanel_config_2018-01-11.sql.gz
    ├── ssrpanel_country_2018-01-11.sql.gz
    ├── ssrpanel_coupon_2018-01-11.sql.gz
    ├── ssrpanel_coupon_log_2018-01-11.sql.gz
    ├── ssrpanel_email_log_2018-01-11.sql.gz
    ├── ssrpanel_goods_2018-01-11.sql.gz
    ├── ssrpanel_invite_2018-01-11.sql.gz
    ├── ssrpanel_level_2018-01-11.sql.gz
    ├── ssrpanel_order_2018-01-11.sql.gz
    ├── ssrpanel_order_goods_2018-01-11.sql.gz
    ├── ssrpanel_payment_2018-01-11.sql.gz
    ├── ssrpanel_referral_apply_2018-01-11.sql.gz
    ├── ssrpanel_referral_log_2018-01-11.sql.gz
    ├── ssrpanel_ss_config_2018-01-11.sql.gz
    ├── ssrpanel_ss_group_2018-01-11.sql.gz
    ├── ssrpanel_ss_group_node_2018-01-11.sql.gz
    ├── ssrpanel_ss_node_2018-01-11.sql.gz
    ├── ssrpanel_ss_node_info_2018-01-11.sql.gz
    ├── ssrpanel_ss_node_online_log_2018-01-11.sql.gz
    ├── ssrpanel_ss_node_traffic_daily_2018-01-11.sql.gz
    ├── ssrpanel_ss_node_traffic_hourly_2018-01-11.sql.gz
    ├── ssrpanel_ticket_2018-01-11.sql.gz
    ├── ssrpanel_ticket_reply_2018-01-11.sql.gz
    ├── ssrpanel_user_2018-01-11.sql.gz
    ├── ssrpanel_user_balance_log_2018-01-11.sql.gz
    ├── ssrpanel_user_ban_log_2018-01-11.sql.gz
    ├── ssrpanel_user_score_log_2018-01-11.sql.gz
    ├── ssrpanel_user_subscribe_2018-01-11.sql.gz
    ├── ssrpanel_user_subscribe_log_2018-01-11.sql.gz
    ├── ssrpanel_user_traffic_daily_2018-01-11.sql.gz
    ├── ssrpanel_user_traffic_hourly_2018-01-11.sql.gz
    ├── ssrpanel_user_traffic_log_2018-01-11.sql.gz
    └── ssrpanel_verify_2018-01-11.sql.gz

4 directories, 148 files
未经允许不得转载:留时刻运维网 » 分库分表归类备份数据库

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

留时刻 - Linux系统教程,运维经验分享

加入我们给我留言