]>
git.argeo.org Git - gpl/argeo-slc.git/blob - cms/org.argeo.slc.cms/src/org/argeo/slc/backup/vfs/MySqlBackup.java
1 package org
.argeo
.slc
.backup
.vfs
;
3 import org
.apache
.commons
.vfs2
.FileObject
;
5 /** Backups a MySQL database using mysqldump. */
6 public class MySqlBackup
extends OsCallBackup
{
7 private String mysqldumpLocation
= "/usr/bin/mysqldump";
10 private String dbPassword
;
11 private String dbName
;
13 public MySqlBackup() {
16 public MySqlBackup(String dbUser
, String dbPassword
, String dbName
) {
18 this.dbPassword
= dbPassword
;
25 if (getName() == null)
26 setName(dbName
+ ".mysql");
31 public void writeBackup(FileObject targetFo
) {
32 if (getCommand() == null)
33 setCommand(mysqldumpLocation
34 + " --lock-tables --add-locks --add-drop-table"
35 + " -u ${dbUser} --password=${dbPassword} --databases ${dbName}");
36 getVariables().put("dbUser", dbUser
);
37 getVariables().put("dbPassword", dbPassword
);
38 getVariables().put("dbName", dbName
);
40 super.writeBackup(targetFo
);
43 public void setDbUser(String dbUser
) {
47 public void setDbPassword(String dbPassword
) {
48 this.dbPassword
= dbPassword
;
51 public void setDbName(String dbName
) {
55 public void setMysqldumpLocation(String mysqldumpLocation
) {
56 this.mysqldumpLocation
= mysqldumpLocation
;