]>
git.argeo.org Git - gpl/argeo-slc.git/blob - cms/org.argeo.cms.integration/src/org/argeo/maintenance/backup/vfs/OpenLdapBackup.java
1 package org
.argeo
.maintenance
.backup
.vfs
;
3 import org
.apache
.commons
.vfs2
.FileObject
;
4 import org
.argeo
.maintenance
.MaintenanceException
;
6 /** Backups an OpenLDAP server using slapcat */
7 public class OpenLdapBackup
extends OsCallBackup
{
8 private String slapcatLocation
= "/usr/sbin/slapcat";
9 private String slapdConfLocation
= "/etc/openldap/slapd.conf";
10 private String baseDn
;
12 public OpenLdapBackup() {
16 public OpenLdapBackup(String baseDn
) {
22 public void writeBackup(FileObject targetFo
) {
24 throw new MaintenanceException("Base DN must be set");
26 if (getCommand() == null)
27 setCommand(slapcatLocation
28 + " -f ${slapdConfLocation} -b '${baseDn}'");
29 getVariables().put("slapdConfLocation", slapdConfLocation
);
30 getVariables().put("baseDn", baseDn
);
32 super.writeBackup(targetFo
);
35 public void setSlapcatLocation(String slapcatLocation
) {
36 this.slapcatLocation
= slapcatLocation
;
39 public void setSlapdConfLocation(String slapdConfLocation
) {
40 this.slapdConfLocation
= slapdConfLocation
;
43 public void setBaseDn(String baseDn
) {