75 lines
2.3 KiB
Bash
Executable File
75 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Ajouter les backports bullseye.
|
|
#if [ $(grep -Rih backport /etc/apt/sources.list* |grep -v "^#" | wc -l) -ne 0 ]; then
|
|
# echo "Backports apt configuration: PASSED"
|
|
#else
|
|
# echo "deb http://ftp.fr.debian.org/debian/ bullseye-backports main" > /etc/apt/sources.list.d/backports.list
|
|
# echo "Backports apt configuration: DONE"
|
|
#fi
|
|
|
|
# Installer les paquets nécessaires.
|
|
borgmatic --version > /dev/null
|
|
STATE1=$?
|
|
borgbackup --version > /dev/null
|
|
STATE2=$?
|
|
if [ $STATE1 -eq 0 ] && [ $STATE2 -eq 0 ]; then
|
|
echo "Borgmatic package install: PASSED"
|
|
else
|
|
#apt update && apt install -t bullseye-backports borgmatic borgbackup
|
|
apt update && apt install borgmatic borgbackup
|
|
if [ $? -eq 0 ]; then
|
|
echo "Borgmatic package install: DONE"
|
|
else
|
|
echo "Borgmatic package install: FAILED"
|
|
exit -1
|
|
fi
|
|
fi
|
|
|
|
# Forcer l'action create dans le service Systemd de Borgmatic.
|
|
if [ $(grep "/usr/bin/borgmatic create" /lib/systemd/system/borgmatic.service | wc -l) -eq 1 ]; then
|
|
echo "Borgmatic service patch: PASSED"
|
|
else
|
|
sed -i s#/usr/bin/borgmatic#/usr/bin/borgmatic\ create# /lib/systemd/system/borgmatic.service && systemctl daemon-reload
|
|
if [ $? -eq 0 ]; then
|
|
echo "Borgmatic service path: DONE"
|
|
else
|
|
echo "Borgmatic service path: FAILED"
|
|
exit -1
|
|
fi
|
|
fi
|
|
|
|
# Créer des clés ssh pour l'utilisateur root (si besoin).
|
|
if [ $(ls /root/.ssh/*pub 2> /dev/null | wc -l) -ne 0 ]; then
|
|
echo "SSH root key creation: PASSED"
|
|
else
|
|
sudo ssh-keygen -t ed25519
|
|
echo "SSH root key creation: DONE"
|
|
fi
|
|
|
|
# Peupler le dossier de configuration de Borgmatic.
|
|
if [ -d /etc/borgmatic ]; then
|
|
echo "Borgmatic configuration files: PASSED"
|
|
else
|
|
mkdir -p /etc/borgmatic
|
|
cd /etc/borgmatic
|
|
URL=https://forge.a-lec.org/cominfra/sauvegardes/raw/branch/main/
|
|
wget -nv $URL/models/excludes
|
|
wget -nv $URL/models/model-conf-remote-client.yaml -O /etc/borgmatic/config.yaml
|
|
mkdir -p /etc/borgmatic/hooks/
|
|
cd /etc/borgmatic/hooks
|
|
wget -nv $URL/bin/dumps
|
|
wget -nv $URL/bin/dump-msql
|
|
wget -nv $URL/bin/dump-psql
|
|
wget -nv $URL/bin/dump-influx
|
|
chmod u+x /etc/borgmatic/hooks/dump*
|
|
echo "Borgmatic configuration files: DONE"
|
|
fi
|
|
|
|
# Vérifier que la configuration Borgmatic.
|
|
validate-borgmatic-config
|
|
echo "Borgmatic configuration check: DONE."
|
|
|
|
echo "ALL OK."
|
|
|