From 61d769a9affc6d6f8a1773245dacd4e73ab41c38 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Tue, 27 Feb 2018 23:07:17 +0000 Subject: [PATCH] etc/profile.d/ldap.sh --- etc/profile.d/ldap.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/etc/profile.d/ldap.sh b/etc/profile.d/ldap.sh index d06e56de..6585cfdb 100644 --- a/etc/profile.d/ldap.sh +++ b/etc/profile.d/ldap.sh @@ -141,3 +141,22 @@ ldap_gup() { return } +ldap_backup() { + local keep_days=7 + local dir=/var/backups/ldap + local now=$(date +'%F-%H%M') + local preff="$dir/$now" + local usage="ldap_backup [-dir PATH] [-days DAYS]" + while [ $# -gt 0 ]; do + case "$1" in + -days) keep_days="$2"; shift ;; + -dir) dir="$2"; shift ;; + *) echo "$usage" 1>&2; return 1 ;; + esac + shift + done + slapcat -n 0 -l $preff-config.ldif + slapcat -n 1 -l $preff-data.ldif + gzip $preff-*.ldif + [ -n "$keep_days" -a "$keep_days" -gt 0 ] && find $dir/ -type f -mtime +$keep_days -delete + } -- 2.47.3