Modifications pour le document Sauvegarde
Modifié par john le 2026/10/03 20:01
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Contenu
-
... ... @@ -104,8 +104,17 @@ 104 104 {{code language="bash"}} 105 105 #!/bin/bash 106 106 set -euo pipefail 107 -umask 077 # Ajout : dumps lisibles par root seul107 +umask 077 108 108 109 +# Alertes Telegram 110 +. /root/.backup-telegram 111 +notifier() { 112 + curl -fsS -m 10 "https://api.telegram.org/bot$TG_TOKEN/sendMessage" \ 113 + -d chat_id="$TG_CHAT" --data-urlencode text="$1" >/dev/null || true 114 +} 115 +attention() { echo "ATTENTION: $1" >&2; notifier "⚠️ Sauvegarde : $1"; } 116 +trap 'notifier "❌ Sauvegarde interrompue à la ligne $LINENO"' ERR 117 + 109 109 REPO="sftp://<UTILISATEUR>@<HOTE_DEPOT>:<CHEMIN_DEPOT>" 110 110 KEYFILE="<FICHIER_PHRASE_SECRETE>" 111 111 DUMPS="<APPDATA>/dumps" ... ... @@ -117,19 +117,19 @@ 117 117 > "$DUMPS/$c.sql" 2>/dev/null \ 118 118 || docker exec "$c" sh -c 'exec mariadb-dump -uroot -p"${MYSQL_ROOT_PASSWORD:-$MARIADB_ROOT_PASSWORD}" --all-databases' \ 119 119 > "$DUMPS/$c.sql" 2>/dev/null \ 120 - || e cho "ATTENTION:dump $c échoué">&2129 + || attention "dump $c échoué" 121 121 done 122 122 123 123 # Nextcloud : dump via l'utilisateur applicatif 124 124 docker exec "$(docker ps -q -f name=nextcloud_db)" sh -c 'exec mariadb-dump -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE"' \ 125 125 > "$DUMPS/nextcloud.sql" 2>/dev/null \ 126 - || e cho "ATTENTION:dump nextcloud échoué">&2135 + || attention "dump nextcloud échoué" 127 127 128 128 # Dumps PostgreSQL 129 -for c in joplin-db flus-db wallabag-db immich_postgres vikunja-db jellystat-db n8n-postgres dawarich_db; do # Ajout : dawarich_db138 +for c in joplin-db flus-db wallabag-db immich_postgres vikunja-db jellystat-db n8n-postgres dawarich_db; do 130 130 docker exec "$c" sh -c 'exec pg_dumpall -U "$POSTGRES_USER"' \ 131 131 > "$DUMPS/$c.sql" 2>/dev/null \ 132 - || e cho "ATTENTION:dump $c échoué">&2141 + || attention "dump $c échoué" 133 133 done 134 134 135 135 # Sauvegarde, sans core dumps, binlogs ni fichiers bruts des bases ... ... @@ -140,12 +140,14 @@ 140 140 -ignore "**/xwiki/mariadb/**" \ 141 141 -ignore "**/store.bak.*/**" \ 142 142 <APPDATA> \ 143 - <BIBLIOTHEQUE_IMMICH>\ 152 + <BIBLIOTHEQUE_IMMICH> \ 144 144 <CONTENU_JOPLIN> 145 145 146 146 # Rétention : 30 jours glissants 147 147 plakar -keyfile "$KEYFILE" at "$REPO" rm -before 30d -apply 157 +notifier "✅ Sauvegarde terminée" 148 148 {{/code}} 159 +{{/code}} 149 149 150 150 Tâche cron, ##/etc/cron.d/backup-plakar## : 151 151