Назад | Перейти на главную страницу

AutoMySQLBackup: создайте отдельный файл для каждой базы данных.

Я выполняю резервное копирование своих баз данных с помощью automysqlbackup.

Это отлично работает, но, к сожалению, я не получаю ни одного файла для каждой базы данных, а только общий файл с именем

daily_all-databases_2016-04-15_12h01m_Friday.sql.gz

.
├── daily
│   └── daily_all-databases_2016-04-15_12h01m_Friday.sql.gz
├── latest
├── monthly
├── tmp
└── weekly

Я бы хотел получить единый архив для каждой базы данных.

Как я могу это сделать?

Вы должны уметь использовать SEPDIR параметр конфигурации. Он создаст отдельные каталоги для каждой базы данных с собственным файлом внутри.

Из Справочная страница Ubuntu (но должен работать и на CentOS):

SEPDIR = да
Отдельный каталог резервных копий и файл для каждой БД? (да или нет)

В качестве альтернативы очень просто написать сценарий bash самостоятельно, который сделает это. Что-то вроде этого должно получиться:

mysql -u user -p pass -B -e "SHOW DATABASES"|sed 1d|while read db
do
    mysqldump -u user -p pass $db|gzip>"/home/db_backup/$db.sql.gz"
    if [[ $? != 0 ]];then
        echo "Backup of database $db FAILED!"
    fi
done

Очевидно заменить user и pass с их соответствующими значениями.