summaryrefslogtreecommitdiffstats
path: root/ldap/admin/src/scripts
diff options
context:
space:
mode:
authorDavid Boreham <dboreham@redhat.com>2005-01-28 20:36:06 +0000
committerDavid Boreham <dboreham@redhat.com>2005-01-28 20:36:06 +0000
commitb323e287076458e646831a3b5cec0262ac60c5fd (patch)
treeebce2520494204a3feef95e859b896fa3e8627a6 /ldap/admin/src/scripts
parentd70d772e768245c06466a68fc3f32739692c20cc (diff)
downloadds-b323e287076458e646831a3b5cec0262ac60c5fd.tar.gz
ds-b323e287076458e646831a3b5cec0262ac60c5fd.tar.xz
ds-b323e287076458e646831a3b5cec0262ac60c5fd.zip
Add support for filesystem-based replica initialization.
Diffstat (limited to 'ldap/admin/src/scripts')
-rw-r--r--ldap/admin/src/scripts/template-bak2db.pl14
1 files changed, 13 insertions, 1 deletions
diff --git a/ldap/admin/src/scripts/template-bak2db.pl b/ldap/admin/src/scripts/template-bak2db.pl
index 10cb99bc..cdb51c74 100644
--- a/ldap/admin/src/scripts/template-bak2db.pl
+++ b/ldap/admin/src/scripts/template-bak2db.pl
@@ -16,11 +16,13 @@ sub usage {
print(STDERR " : -j filename - Read Directory Manager's password from file\n");
print(STDERR " : -a dirname - backup directory\n");
print(STDERR " : -t dbtype - database type (default: ldbm database)\n");
+ print(STDERR " : -n backend - name of backend instance to restore\n");
print(STDERR " : -v - verbose\n");
}
$taskname = "";
$archivedir = "";
$dbtype = "ldbm database";
+$instance = "";
$dsroot = "{{DS-ROOT}}";
$mydsroot = "{{MY-DS-ROOT}}";
$verbose = 0;
@@ -39,6 +41,8 @@ while ($i <= $#ARGV) {
$i++; $passwdfile = $ARGV[$i];
} elsif ("$ARGV[$i]" eq "-t") { # database type
$i++; $dbtype = $ARGV[$i];
+ } elsif ("$ARGV[$i]" eq "-n") { # backend instance name
+ $i++; $instance = $ARGV[$i];
} elsif ("$ARGV[$i]" eq "-v") { # verbose
$verbose = 1;
} else {
@@ -75,12 +79,20 @@ $taskname = "restore_${yr}_${mn}_${dy}_${h}_${m}_${s}";
if ($archivedir eq "") {
&usage; exit(1);
}
+use File::Spec;
+$isabs = File::Spec->file_name_is_absolute( $archivedir );
+if (!$isabs) {
+ $archivedir = File::Spec->rel2abs( $archivedir );
+}
$dn = "dn: cn=$taskname, cn=restore, cn=tasks, cn=config\n";
$misc = "changetype: add\nobjectclass: top\nobjectclass: extensibleObject\n";
$cn = "cn: $taskname\n";
+if ($instance ne "") {
+ $nsinstance = "nsInstance: ${instance}\n";
+}
$nsarchivedir = "nsArchiveDir: $archivedir\n";
$nsdbtype = "nsDatabaseType: $dbtype\n";
-$entry = "${dn}${misc}${cn}${nsarchivedir}${nsdbtype}";
+$entry = "${dn}${misc}${cn}${nsinstance}${nsarchivedir}${nsdbtype}";
$vstr = "";
if ($verbose != 0) { $vstr = "-v"; }
chdir("$dsroot{{SEP}}shared{{SEP}}bin");