Ajout d'une fonction d'exclusion de datasets
All checks were successful
Tests et Vérifications / Tests unitaires BATS (push) Successful in 1m10s
Tests et Vérifications / Vérification ShellCheck (push) Successful in 43s
Tests et Vérifications / Vérification syntaxe Bash (push) Successful in 4s
Tests et Vérifications / Résumé des tests (push) Successful in 1s
All checks were successful
Tests et Vérifications / Tests unitaires BATS (push) Successful in 1m10s
Tests et Vérifications / Vérification ShellCheck (push) Successful in 43s
Tests et Vérifications / Vérification syntaxe Bash (push) Successful in 4s
Tests et Vérifications / Résumé des tests (push) Successful in 1s
This commit is contained in:
parent
8da967213a
commit
745c9d6ff9
1 changed files with 15 additions and 2 deletions
|
|
@ -18,13 +18,13 @@
|
||||||
# - Fichiers d'état séparés par pool (tailles, UUIDs disques, erreurs critiques)
|
# - Fichiers d'état séparés par pool (tailles, UUIDs disques, erreurs critiques)
|
||||||
#
|
#
|
||||||
# Auteur : BENE Maël
|
# Auteur : BENE Maël
|
||||||
# Version : 2.4.1
|
# Version : 2.4.2
|
||||||
#
|
#
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
SCRIPT_VERSION="2.4.1"
|
SCRIPT_VERSION="2.4.2"
|
||||||
REPO_URL="https://forgejo.tellserv.fr/Tellsanguis/zfs-sync-nfs-ha"
|
REPO_URL="https://forgejo.tellserv.fr/Tellsanguis/zfs-sync-nfs-ha"
|
||||||
SCRIPT_URL="${REPO_URL}/raw/branch/main/zfs-nfs-replica.sh"
|
SCRIPT_URL="${REPO_URL}/raw/branch/main/zfs-nfs-replica.sh"
|
||||||
SCRIPT_PATH="${BASH_SOURCE[0]}"
|
SCRIPT_PATH="${BASH_SOURCE[0]}"
|
||||||
|
|
@ -58,6 +58,11 @@ MIN_REMOTE_RATIO=50 # Le distant doit avoir au moins 50% de la taille du local
|
||||||
# Mettre à 0 ou laisser vide pour désactiver la limitation
|
# Mettre à 0 ou laisser vide pour désactiver la limitation
|
||||||
BANDWIDTH_LIMIT_MBS=40 # Limite par défaut: 40 MB/s
|
BANDWIDTH_LIMIT_MBS=40 # Limite par défaut: 40 MB/s
|
||||||
|
|
||||||
|
# Datasets à exclure de la réplication syncoid (gérés par un autre outil, ex: Proxmox Replication)
|
||||||
|
# Format: noms courts des datasets (sans le nom du pool)
|
||||||
|
# Exemple: EXCLUDE_DATASETS=("pbs-backups" "vm-100-disk-0")
|
||||||
|
EXCLUDE_DATASETS=("pbs-backups")
|
||||||
|
|
||||||
# Configuration des logs (rotation 2 semaines)
|
# Configuration des logs (rotation 2 semaines)
|
||||||
LOG_DIR="/var/log/zfs-nfs-replica"
|
LOG_DIR="/var/log/zfs-nfs-replica"
|
||||||
LOG_RETENTION_DAYS=14
|
LOG_RETENTION_DAYS=14
|
||||||
|
|
@ -1199,6 +1204,14 @@ replicate_pool() {
|
||||||
local first_level_datasets
|
local first_level_datasets
|
||||||
first_level_datasets=$(zfs list -H -o name -r "$pool" -t filesystem,volume -d 1 | grep -v "^${pool}$")
|
first_level_datasets=$(zfs list -H -o name -r "$pool" -t filesystem,volume -d 1 | grep -v "^${pool}$")
|
||||||
|
|
||||||
|
# Appliquer les exclusions définies dans EXCLUDE_DATASETS
|
||||||
|
if [[ ${#EXCLUDE_DATASETS[@]} -gt 0 ]]; then
|
||||||
|
for excl in "${EXCLUDE_DATASETS[@]}"; do
|
||||||
|
first_level_datasets=$(grep -v "^${pool}/${excl}$" <<< "$first_level_datasets")
|
||||||
|
log "info" "Dataset exclu: ${pool}/${excl}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -z "$first_level_datasets" ]]; then
|
if [[ -z "$first_level_datasets" ]]; then
|
||||||
log "error" "Aucun dataset trouvé sous ${pool}"
|
log "error" "Aucun dataset trouvé sous ${pool}"
|
||||||
flock -u ${lockfd}
|
flock -u ${lockfd}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue