summaryrefslogtreecommitdiffstats
path: root/roles/common-LDAP/files/usr/local/sbin/slapcat-all.sh
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2015-06-03 21:13:10 +0200
committerGuilhem Moulin <guilhem@fripost.org>2015-06-07 02:54:20 +0200
commit00d6d904dc26592553ba93710c205603757e3faf (patch)
tree09ce9d1f3257da4303362317b04a596f4e0df741 /roles/common-LDAP/files/usr/local/sbin/slapcat-all.sh
parentab03c7c75d91667dbc30f9ce1f66fe343fb9f93b (diff)
Configure Bacula File Daemon / Storage Daemon / Director.
Using client-side data signing/encryption and wrapping inter-host communication into stunnel.
Diffstat (limited to 'roles/common-LDAP/files/usr/local/sbin/slapcat-all.sh')
-rwxr-xr-xroles/common-LDAP/files/usr/local/sbin/slapcat-all.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/roles/common-LDAP/files/usr/local/sbin/slapcat-all.sh b/roles/common-LDAP/files/usr/local/sbin/slapcat-all.sh
new file mode 100755
index 0000000..4e5b5e4
--- /dev/null
+++ b/roles/common-LDAP/files/usr/local/sbin/slapcat-all.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Usage: slapcat-all.sh DIR
+# Save all LDAP databases in DIR: DIR/0.ldif, DIR/1.ldif, ...
+
+set -ue
+PATH=/usr/sbin:/sbin:/usr/bin:/bin
+
+target="$1"
+umask 0077
+
+slapcat -n0 -l"$target/0.ldif"
+n=$(grep -Ec '^dn:\s+olcDatabase={[1-9][0-9]*}' "$target/0.ldif")
+
+while [ $n -gt 0 ]; do
+ slapcat -n$n -l"$target/$n.ldif"
+ n=$(( $n - 1 ))
+done