Mysql Backup

HomePage -> DirvishTips

Backup all client databases, on file per DB.

This sample use ClientScriptsOnServer, put these scripts on your dirvish vault directory :

pre-client script

DESTDIR=$1

for db in $(/usr/bin/mysql -ubackupuser -pbackupuserpwd -e 'show databases' -s | egrep -v '(^Database$|lost+found)') ; \
      do rm -f $DESTDIR/$db.sql ; \
      /usr/bin/mysqldump -ubackupuser -pbackupuserpwd --opt --flush-logs $db > $DESTDIR/$db.sql ; \
done

Replace backupuser and backupuserpwd according to your mysql backup user.

Sample to create backup user mysql :

GRANT SELECT, RELOAD, LOCK TABLES ON *.* TO backupuser@localhost IDENTIFIED BY 'backupuserpwd';
FLUSH PRIVILEGES;

If you don't want to keep backup on client :

post-client script

MysqlBackup (last edited 2011-01-24 06:11:06 by KeithLofstrom)