Backup Mysql таблиц по префиксу таблицы

mysql_backup

Один из самых простых вариантов сделать бекап mysql базы, это воспользоваться утилитой mysqldump

Если в синтаксис добавить параметр «—tables», то можно описать какие именно таблицы нам надо бекапить.

mysqldump  -umysqluser -pmysqlpassword  --tables  prefix_tableA prefix_tableB >`date +%u.basename.sql`

Недостатком данного способа является не восприятие параметра «—tables» к регулярным выражениям, т.е. в качестве аргумента нельзя передать например «prefix_*» (сделать бекап таблицы по определенному префиксу)

Ниже решение, которое вполне восполняет данный пробел.
Как видно из синтаксиса, начальный SQL запрос дает нам достаточно широкие возможности по манипуляциям списком таблиц для резервного копирования.

mysql  -umysqluser -pmysqlpassword -e 'show tables like "prefix_%"' 
| grep -v Tables_in 
| xargs mysqldump  -umysqluser -pmysqlpassword --skip-triggers >`date +%u.basename.sql`
Вы можете оставить комментарий ниже.