60 lines
1.2 KiB
Bash
Executable File
60 lines
1.2 KiB
Bash
Executable File
#!/bin/ash
|
|
echo "Start backup."
|
|
|
|
# Create backup file name.
|
|
TMP_TARGET=/mnt/backups/backup-$(hostname)-$(date +'%Y-%m-%d-%H-%M-%S').tar
|
|
echo $TMP_TARGET
|
|
|
|
#
|
|
# Samba
|
|
#
|
|
echo "Samba"
|
|
echo "Create NTACL file."
|
|
cd /var/lib/samba
|
|
find ./sysvol -exec ash -c 'TMP=$(samba-tool ntacl get "{}" --as-sddl); echo "samba-tool ntacl set \"$TMP\" \"{}\""' \; > NTACL
|
|
|
|
echo "Create tarball."
|
|
cd /
|
|
tar -cf $TMP_TARGET.1 \
|
|
etc/samba etc/bind \
|
|
var/lib/samba/private var/lib/samba/sysvol var/lib/samba/NTACL var/lib/samba/bind-dns \
|
|
var/lib/bind \
|
|
var/lib/ldap-account-manager
|
|
rm var/lib/samba/NTACL
|
|
|
|
#
|
|
# Kopano
|
|
#
|
|
echo "Kopano"
|
|
echo "Create tarball"
|
|
cd /tmp
|
|
tar -cf $TMP_TARGET.2 \
|
|
kopano/var/lib/kopano/attachments \
|
|
kopano/var/lib/mysql
|
|
|
|
#
|
|
# Gitea
|
|
#
|
|
echo "Gitea"
|
|
echo "Create tarball"
|
|
cd /tmp
|
|
tar -cf $TMP_TARGET.3 \
|
|
gitea/data \
|
|
gitea/var/lib/mysql
|
|
|
|
#
|
|
# merge tarball.
|
|
#
|
|
echo -n "Merging "
|
|
echo -n "."; head -c -$((512*2)) $TMP_TARGET.1 > $TMP_TARGET
|
|
echo -n "."; head -c -$((512*2)) $TMP_TARGET.2 >> $TMP_TARGET
|
|
echo -n "."; head -c -$((512*2)) $TMP_TARGET.3 >> $TMP_TARGET
|
|
rm $TMP_TARGET.1 $TMP_TARGET.2 $TMP_TARGET.3
|
|
echo "Done."
|
|
|
|
echo "Archiving."
|
|
gzip $TMP_TARGET
|
|
|
|
# Finish.
|
|
echo "Backup completed."
|