Plan Borg: updated scripts and models.
This commit is contained in:
parent
861b7062d7
commit
891a47bc59
|
@ -38,10 +38,11 @@ Créer un dossier pour les scripts maison :
|
|||
mkdir -p ~borg/bin
|
||||
```
|
||||
|
||||
Copier les scripts utilitaires dans `~borg/bin/` :
|
||||
Récupérer les scripts et modèles :
|
||||
```
|
||||
cd ~borg/bin/
|
||||
git clone truc ou cp
|
||||
cd ~borg/
|
||||
mkdir bin models
|
||||
wget
|
||||
```
|
||||
|
||||
Créer les dossiers de configuration de Borgmatic :
|
||||
|
@ -147,7 +148,7 @@ C'est le cas nominal. Le principe consiste à configurer le serveur de sauvegard
|
|||
|
||||
Configurer Borgmatic dans `/etc/borgmatic.d/foo.bar.org.yaml` :
|
||||
```
|
||||
cp /srv/borg/models/model-conf-remote.yaml /etc/borgmatic.d/foo.bar.org.yaml
|
||||
cp /srv/borg/models/model-conf-remote.yaml /etc/borgmatic.d/config.yaml
|
||||
```
|
||||
|
||||
Modifier le chemin le chemin du dépôt :
|
||||
|
@ -247,4 +248,27 @@ STU
|
|||
STU
|
||||
|
||||
# Sauver les bases de données
|
||||
STU
|
||||
STU
|
||||
|
||||
# Notes pour les mises à jour futures
|
||||
|
||||
Actuellement :
|
||||
```
|
||||
root@sauvkipeu:/var/backups/borg# borgmatic --version
|
||||
1.5.13.dev0
|
||||
root@sauvkipeu:/var/backups/borg# borg -V
|
||||
borg 1.1.16
|
||||
```
|
||||
|
||||
Or :
|
||||
- [Borgmatic releases](https://projects.torsion.org/borgmatic-collective/borgmatic/releases) : 1.7.5
|
||||
- [Borg release](https://github.com/borgbackup/borg/releases) : 1.2.3
|
||||
|
||||
Donc des précautions sont à prévoir dans le futur. Normalement, commme l'usage fait est relativment basique, cela devrait avoir des impactes limités.
|
||||
|
||||
Pour Borgmatic :
|
||||
- [1.7.0](https://projects.torsion.org/borgmatic-collective/borgmatic/releases/tag/1.7.0) :
|
||||
- #571: Add "--list" as alias for "--files" flag on "create" and "export-tar" actions.
|
||||
- [1.6.1](https://projects.torsion.org/borgmatic-collective/borgmatic/releases/tag/1.6.1) :
|
||||
- #402: Remove the error when "archive_name_format" is specified but a retention prefix isn't.
|
||||
-
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
COMPUTER=$(hostname -s)
|
||||
CONFIG="/etc/borgmatic.d/$COMPUTER.yaml"
|
||||
if [ -f "$CONFIG" ]; then
|
||||
echo "=================================================================="
|
||||
echo "=== BORG $COMPUTER started at $(date)"
|
||||
borgmatic -c $CONFIG create $OPTIONS --stats --verbosity 1 --syslog-verbosity 1
|
||||
echo "=== BORG $COMPUTER ended at $(date)"
|
||||
fi
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
|
||||
help()
|
||||
{
|
||||
echo "Usage: dobackup-remote [ -h | -help | --help | <COMPUTER> ]"
|
||||
echo "Trigger backup on remote machine."
|
||||
}
|
||||
|
||||
#
|
||||
help=0
|
||||
if (( $# != 1)); then
|
||||
help=1
|
||||
elif [ "$parameter" == "-h" ] || [ "$parameter" == "-help" ] || [ "$parameter" == "--help" ]; then
|
||||
help=1
|
||||
fi
|
||||
|
||||
if (( $help )); then
|
||||
help
|
||||
else
|
||||
COMPUTER="$1"
|
||||
echo "===== $COMPUTER ====="
|
||||
|
||||
# Fix repo owner.
|
||||
BORG_REPO="/var/backups/borg/${COMPUTER}.repo"
|
||||
chown -R borg.borg $BORG_REPO
|
||||
|
||||
# Trigger remote backup.
|
||||
REMOTE_USER="admin666"
|
||||
su - borg -c "ssh ${REMOTE_USER}@${COMPUTER} \"borgmatic create $OPTIONS --stats --verbosity 1 --syslog-verbosity 1\""
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
|
||||
help()
|
||||
{
|
||||
echo "Usage: dobackup-rsync [ -h | -help | --help | <MACHINE> ]"
|
||||
echo "Rsync remote before backup it."
|
||||
}
|
||||
|
||||
#
|
||||
help=0
|
||||
if (( $# != 1)); then
|
||||
help=1
|
||||
elif [ "$parameter" == "-h" ] || [ "$parameter" == "-help" ] || [ "$parameter" == "--help" ]; then
|
||||
help=1
|
||||
fi
|
||||
|
||||
if (( $help )); then
|
||||
help
|
||||
else
|
||||
MACHINE="$1"
|
||||
REMOTE_USER=admin666
|
||||
echo "===== $COMPUTER ====="
|
||||
# rsync
|
||||
rsync root@${COMPUTER} /var/backups/borg/mirrors/$COMPUTER --exclude
|
||||
|
||||
# Backup the rsync directory.
|
||||
CONFIG="/etc/borgmatic.d/$COMPUTER.conf"
|
||||
if [ -f "$CONFIG" ]; then
|
||||
borgmatic -c $CONFIG create $OPTIONS --stats --verbosity 1 --syslog-verbosity 1
|
||||
fi
|
||||
fi
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
|
||||
BINDIR=$(dirname "$0")
|
||||
|
||||
echo $BINDIR
|
||||
|
||||
echo "================================================================================"
|
||||
echo " Sauvegardes du "$(date)
|
||||
echo "================================================================================"
|
||||
|
||||
# Local machine.
|
||||
${BINDIR}/dobackup-local
|
||||
|
||||
# Main machines.
|
||||
# aunt
|
||||
# mother
|
||||
|
||||
# Routers.
|
||||
# leparc
|
||||
# fontainebleau
|
||||
# gisors
|
||||
|
||||
# Virtual machines.
|
||||
# audio
|
||||
# audio.chalec.org
|
||||
# ctrlv.chalec.org
|
||||
# dns
|
||||
# forge.chalec.org
|
||||
# gestion.a-lec.org
|
||||
# git
|
||||
# isengard.libre-en-communs.org
|
||||
# libreverse.chalec.org
|
||||
# mail
|
||||
# nuage.chalec.org
|
||||
# pad.chalec.org
|
||||
# petition.chalec.org
|
||||
# stats.chalec.org
|
||||
# status.chalec.org
|
||||
# toot
|
||||
# toot.chalec.org
|
||||
# video.chalec.org
|
||||
# visio.chalec.org
|
||||
# www
|
||||
# www.chalec.org
|
||||
# xmpp
|
||||
# xmpp.chalec.org
|
||||
|
||||
echo "====="
|
||||
echo "Ended at: "`date`
|
||||
echo "================================================================================"
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
help()
|
||||
{
|
||||
echo "Usage: doborgbackup [ -h | -help | --help | <MACHINE> ]"
|
||||
}
|
||||
|
||||
#
|
||||
help=0
|
||||
if (( $# != 1)); then
|
||||
help=1
|
||||
else
|
||||
for parameter in $@; do
|
||||
if [ "$parameter" == "-h" ] || [ "$parameter" == "-help" ] || [ "$parameter" == "--help" ]; then
|
||||
help=1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if (( $help )); then
|
||||
help
|
||||
else
|
||||
MACHINE="$1"
|
||||
BORG_REPOS="/var/backups/borg"
|
||||
|
||||
sh root@$COMPUTER "borgmatic create $OPTIONS --stats --verbosity 1 --syslog-verbosity 1"
|
||||
fi
|
|
@ -1,28 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
help()
|
||||
{
|
||||
echo "Usage: doborgchecks [ -h | -help | --help | <MACHINE> ]"
|
||||
}
|
||||
|
||||
#
|
||||
help=0
|
||||
if (( $# != 1)); then
|
||||
help=1
|
||||
else
|
||||
for parameter in $@; do
|
||||
if [ "$parameter" == "-h" ] || [ "$parameter" == "-help" ] || [ "$parameter" == "--help" ]; then
|
||||
help=1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if (( $help )); then
|
||||
help
|
||||
else
|
||||
MACHINE="$1"
|
||||
BORG_REPOS="/var/backups/borg"
|
||||
|
||||
borgmatic -c $CONFIG check --verbosity 1
|
||||
borgmatic -c $CONFIG prune --stats --verbosity 1
|
||||
fi
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
REPO_NAME="$1"
|
||||
export BORG_REPOS="/var/backups/borg"
|
||||
export BORG_REPO="${BORG_REPOS}/{REPO_NAME}.repo"
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "================================================================================"
|
||||
echo " Checks du "$(date)
|
||||
echo "================================================================================"
|
||||
|
||||
borgmatic check --verbosity 1
|
||||
|
||||
echo "====="
|
||||
echo "Ended at: "`date`
|
||||
echo "================================================================================"
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "================================================================================"
|
||||
echo " Checks du "$(date)
|
||||
echo "================================================================================"
|
||||
|
||||
REPO_DIR="/var/backups/borg"
|
||||
|
||||
for REPO in $(ls -d ${REPO_DIR}/*.repo); do
|
||||
|
||||
echo "$REPO"
|
||||
borg check --info /var/backups/borg/sauvkipeu.repo/
|
||||
echo "================================================================================"
|
||||
done
|
||||
|
||||
echo "Ended at: "`date`
|
||||
echo "================================================================================"
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
help()
|
||||
{
|
||||
echo "Usage: dobackupinit [ -h | -help | --help | <MACHINE> ]"
|
||||
echo "Usage: doinit [ -h | -help | --help | <MACHINE> ]"
|
||||
echo "Init a borg repository."
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -20,8 +21,9 @@ fi
|
|||
if (( $help )); then
|
||||
help
|
||||
else
|
||||
REPO_NAME="$1"
|
||||
BORG_REPOS="/var/backups/borg"
|
||||
COMPUTER="$1"
|
||||
|
||||
borg init --encryption=repokey-blake2 ${BORG_REPOS}/${REPO_NAME}.repo
|
||||
borgmatic -c /etc/borgmatic.d/${COMPUTER}.yaml init --encryption=repokey-blake2
|
||||
fi
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "================================================================================"
|
||||
echo " Prunes du "$(date)
|
||||
echo "================================================================================"
|
||||
|
||||
borgmatic prune --stats --files --verbosity 1
|
||||
|
||||
echo "====="
|
||||
echo "Ended at: "`date`
|
||||
echo "================================================================================"
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "================================================================================"
|
||||
echo " Prunes du "$(date)
|
||||
echo "================================================================================"
|
||||
|
||||
REPO_DIR="/var/backups/borg"
|
||||
|
||||
for REPO in $(ls -d ${REPO_DIR}/*.repo); do
|
||||
|
||||
echo "$REPO"
|
||||
borg prune --keep-within 3d --keep-daily 7 --keep-weekly 8 --keep-monthly 6 --info --list --stats /var/backups/borg/sauvkipeu.repo/
|
||||
echo "================================================================================"
|
||||
done
|
||||
|
||||
echo "Ended at: "`date`
|
||||
echo "================================================================================"
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
SCRIPT_NAME="$(basename "$0")"
|
||||
|
||||
BACKUPS_DIR="/var/backups/borg/$computer"
|
||||
cd $BACKUPS_DIR
|
||||
for BORG_REPO in $(ls -d *.repo); do
|
||||
if [ -d "$BORG_REPO" ]; then
|
||||
#echo "$BORG_REPO"
|
||||
COMPUTER=$(printf "%-40s" ${BORG_REPO::-5})
|
||||
OUTPUT=$(borg list "$BORG_REPO" | sort -h | tail -1 | awk '{ print $1}' )
|
||||
echo "$COMPUTER $OUTPUT"
|
||||
fi
|
||||
done
|
|
@ -1,2 +1,3 @@
|
|||
10 0 * * * borgmaster /home/borgmaster/bin/dobackups >> /var/backups/borg/dobackups.log 2>&1
|
||||
10 12 * * * borgmaster /home/borgmaster/bin/dochecks >> /var/backups/borg/dobackups.log 2>&1
|
||||
10 0 * * * root /srv/borg/bin/dobackups >> /var/backups/borg/dobackups.log 2>&1
|
||||
10 12 * * * root /srv/borg/bin/doprunes >> /var/backups/borg/doprunes.log 2>&1
|
||||
10 6 * * * root /srv/borg/bin/dochecks >> /var/backups/borg/dochecks.log 2>&1
|
||||
|
|
|
@ -11,3 +11,4 @@ fm:*/cache2
|
|||
fm:*/.davfs2
|
||||
fm:*/.local/share/Trash
|
||||
fm:*/lost+found
|
||||
fm:*/sharedfs |
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
location:
|
||||
source_directories:
|
||||
- /etc
|
||||
- /home
|
||||
- /opt
|
||||
- /root
|
||||
- /srv
|
||||
- /usr
|
||||
- /var
|
||||
|
||||
repositories:
|
||||
- /var/backups/borg/{hostname}.repo
|
||||
|
||||
exclude_from:
|
||||
- /etc/borgmatic/excludes
|
||||
|
||||
storage:
|
||||
encryption_passcommand: 'cat /srv/borg/.borg-passphrase'
|
||||
archive_name_format: '{now:%Y-%m-%dT%H:%M}'
|
||||
|
||||
retention:
|
||||
!include /etc/borgmatic/retention.yaml
|
||||
|
||||
consistency:
|
||||
checks:
|
||||
- repository
|
||||
- archives
|
||||
|
||||
output:
|
||||
color: false
|
|
@ -0,0 +1,19 @@
|
|||
location:
|
||||
source_directories: []
|
||||
|
||||
repositories:
|
||||
- /var/backups/borg/<NAME>.repo
|
||||
|
||||
retention:
|
||||
!include /etc/borgmatic/retention.yaml
|
||||
|
||||
consistency:
|
||||
checks:
|
||||
- repository
|
||||
- archives
|
||||
|
||||
storage:
|
||||
encryption_passcommand: 'cat /srv/borg/.borg-passphrase'
|
||||
|
||||
output:
|
||||
color: false
|
|
@ -1,6 +1,6 @@
|
|||
keep_within: 14d
|
||||
keep_within: 3d
|
||||
keep_daily: 7
|
||||
keep_weekly: 12
|
||||
keep_monthly: 11
|
||||
keep_weekly: 8
|
||||
keep_monthly: 6
|
||||
keep_yearly: -1
|
||||
prefix: '20'
|
||||
prefix: '2'
|
||||
|
|
Loading…
Reference in New Issue