shell脚本练习(6):备份MySQL数据库表

一、脚本编写

编写脚本如下:

#!/bin/bash

# 系统数据库
SYS_DB="information_schema|mysql|performance_schema|sys"

# 需要备份的数据库
DB=`mysql -N -e "show databases" | egrep -v $SYS_DB`

for i in $DB;do
        # 备份的路径
        BAK_PATH="/server/db/${i}"
        [ -d ${BAK_PATH} ] || mkdir -p ${BAK_PATH}

        # 备份数据库
        mysqldump -B $i > "${BAK_PATH}/${i}_`date +%F`.sql"

        # 数据库的表
        TB=`mysql -N -e "show tables from ${i}"`

        # 备份数据库的表
        for j in $TB;do
                mysqldump $i $j > "${BAK_PATH}/${i}_${j}_`date +%F`.sql"
        done

done

二、输出结果

执行脚本后查看其目录结构:

[root@localhost ~]# tree /server/db/
/server/db/
├── company
│   ├── company_2025-05-15.sql
│   ├── company_admin_2025-05-15.sql
│   ├── company_dept_2025-05-15.sql
│   ├── company_emp_2025-05-15.sql
│   ├── company_form_2025-05-15.sql
│   └── company_product_2025-05-15.sql
├── goods
│   ├── goods_2025-05-15.sql
│   ├── goods_admin_2025-05-15.sql
│   ├── goods_form_2025-05-15.sql
│   └── goods_product_2025-05-15.sql
└── jiaowu
    ├── jiaowu_2025-05-15.sql
    ├── jiaowu_courses_2025-05-15.sql
    ├── jiaowu_scores_2025-05-15.sql
    ├── jiaowu_students_2025-05-15.sql
    └── jiaowu_tutors_2025-05-15.sql

3 directories, 15 files

可以搭配计划任务实现定时备份数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值