]> git.nbdom.net Git - nb.git/commitdiff
etc/profile.d/ldap.sh
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 27 Feb 2018 23:07:17 +0000 (23:07 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 27 Feb 2018 23:07:17 +0000 (23:07 +0000)
etc/profile.d/ldap.sh

index d06e56de8c14178920e85a12ea61b1dbe38143af..6585cfdba92cffa762b8e23b3dd961c1e61484e1 100644 (file)
@@ -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
+ }