AutoMySQLBackup:为每个数据库创build一个文件

我用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 

我想为每个数据库获得单个存档。

我怎样才能做到这一点?

您应该可以使用SEPDIRconfiguration参数。 它将为每个数据库创build单独的目录,并在其中包含一个自己的文件。

从Ubuntu的手册页 (但应该在CentOS上工作一样):

SEPDIR = YES
为每个数据库分别备份目录和文件? (是或否)

或者,你自己编写一个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 

显然要replaceuserpass相应的值。