Небольшой bash скриптик для создание бэкапа баз mysql view+tables в 7z архив

Ирокез

бессмертный пони
Команда форума
Партнер клуба
каждая таблица закидывается в отдельный файлик архива
авось кому пригодится :)
PHP:
#!/bin/bash
db_user="тут пользователь"
db_password="тут пароль"
backup_dir="/tmp"

DBs=( тут_перечисляем_имена_баз_через_пробел )
for db in "${DBs[@]}"
do
        echo "Создание резервной копии ${db}"
        tables=($(mysql  -u"${db_user}" -p"${db_password}" -Bse 'show tables' "${db}"))
        for i in "${tables[@]}"
        do
                echo "    TABLE: ${db}.${i}"
                (mysqldump -u"${db_user}" -p"${db_password}" --single-transaction "${db}" "${i}" | 7z u -si"${i}.sql" "${backup_dir}/${db}.7z")
        done
        views=($(mysql  -u"${db_user}" -p"${db_password}" -Bse "select table_name from information_schema.tables where table_type='VIEW' AND table_schema='${db}' " "${db}"))
        for i in "${views[@]}"
        do
                echo "    VIEW: ${db}.${i}"
                view=($(mysql  -u"${db_user}" -p"${db_password}" -Bse "select VIEW_DEFINITION from information_schema.VIEWS where table_name='${i}' AND table_schema='${db}'"))
                echo "CREATE VIEW ${db}.${i} AS ${view[@]}" | 7z u -si"${i}.sql" "${backup_dir}/${db}.7z"
        done
done
 
Сверху