Ниже представленный скрипт позволяет из архива полного дампа вытащить одну таблицу.
#!/bin/sh
DB=$1
TABLE=$2
PATH=/some/path/backup
if [ -f $PATH/$DB.sql.gz ]; then
/bin/gunzip -c $PATH/$DB.sql.gz | /usr/bin/awk \'/CREATE TABLE `\'$TABLE\'`/,/UNLOCK TABLES/\' > /tmp/$DB.$TABLE.sql
else
echo \'FILE not found\'
fi
Небольшое пояснение по скрипту. В качестве параметров он принимает имя базы данных и имя таблицы, которую необходимо восстановить.
Имя архива состоит из имени базы с расширением sql.gz
Пример выполнения скрипта
extract_table.sh filename table_name
Из архива базы filename извлечется таблица table_name
После этого, если необходимо, можно восстановить данную таблицу в базу.
mysql -uusername -ppassword database_name < /tmp/database_name.table_name.sql