mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-04-26 23:23:22 +02:00
27 lines
1.2 KiB
Django/Jinja
27 lines
1.2 KiB
Django/Jinja
#!/bin/sh
|
|
|
|
set -eo pipefail
|
|
|
|
{% if samba_role in ['dc', 'rodc'] %}
|
|
LDB_MODULES_PATH=/usr/lib64/samba/ldb
|
|
export LDB_MODULES_PATH
|
|
|
|
mkdir -p /home/lbkp/samba/{private,ldif/sam.ldb.d,offline}
|
|
tar cf /home/lbkp/samba/sysvol.tar.zst --use-compress-program=zstd -C /var/lib/samba/sysvol .
|
|
find /var/lib/samba/private/ -type f -name \*.ldb | xargs tdbbackup
|
|
pushd /var/lib/samba/private/ > /dev/null
|
|
find . -type f -name \*.bak | xargs cp --parents -t /home/lbkp/samba/private/
|
|
popd > /dev/null
|
|
find /var/lib/samba/private -type f -name \*.bak | xargs rm -f
|
|
find /home/lbkp/samba/private/ -type f -name \*.bak | while read F; do mv "$F" "${F%.bak}"; done
|
|
tar cf /home/lbkp/samba/private.tar.zst --use-compress-program=zstd -C /home/lbkp/samba/private .
|
|
rm -rf /home/lbkp/samba/private/
|
|
for LDIF in $(find /var/lib/samba/private/ -type f -name \*.ldb); do
|
|
ldbsearch --url=$LDIF | zstd -c > /home/lbkp/samba/ldif/$(echo $LDIF | sed -e 's/\/var\/lib\/samba\/private//').ldif.zst
|
|
done
|
|
# Also take a more standard offline backup
|
|
samba-tool domain backup offline --targetdir=/home/lbkp/samba/offline/
|
|
{% else %}
|
|
echo "Samba isn't running as a domain controller, nothing to backup"
|
|
{% endif %}
|