Sauvegardes

Ce qu’il faut sauvegarder, et comment l’automatiser.

Mis à jour le 1 octobre 2026

Sur cette page

Trois éléments suffisent à tout restaurer :

Élément Où Pourquoi
La base de données MariaDB, base velnex clients, factures, services, tickets
Le fichier .env /var/www/velnex/.env contient APP_KEY, la clé qui chiffre les clés API, secrets de paiement, mot de passe SMTP et 2FA
Les fichiers envoyés /var/www/velnex/storage/app logo, favicon, pièces jointes des tickets, extensions du marketplace

Sans le .env d’origine, une sauvegarde de base est inexploitable : les secrets chiffrés ne peuvent plus être lus. Gardez-en une copie hors du serveur, en lieu sûr.

Les PDF des factures sont générés à la demande : inutile de les sauvegarder.

Sauvegarde manuelle

mkdir -p /root/backups && cd /root/backups
mysqldump --single-transaction --routines velnex | gzip > velnex-$(date +%F).sql.gz
tar czf velnex-files-$(date +%F).tar.gz -C /var/www/velnex .env storage/app

Automatiser avec restic

restic chiffre et envoie les sauvegardes vers un stockage externe (S3, Backblaze B2, SFTP…) :

apt install restic
export RESTIC_REPOSITORY=s3:https://s3.example.com/mon-bucket
export RESTIC_PASSWORD_FILE=/root/.restic-password
restic init

Script /root/velnex-backup.sh, lancé chaque nuit par cron (0 3 * * * /root/velnex-backup.sh) :

#!/bin/bash
set -e
export RESTIC_REPOSITORY=s3:https://s3.example.com/mon-bucket
export RESTIC_PASSWORD_FILE=/root/.restic-password
mysqldump --single-transaction --routines velnex > /root/velnex.sql
restic backup /root/velnex.sql /var/www/velnex/.env /var/www/velnex/storage/app
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
rm /root/velnex.sql

Restaurer

gunzip < velnex-AAAA-MM-JJ.sql.gz | mysql velnex
tar xzf velnex-files-AAAA-MM-JJ.tar.gz -C /var/www/velnex
chown -R www-data:www-data /var/www/velnex/storage

Testez une restauration de temps en temps : une sauvegarde jamais restaurée n’est pas une sauvegarde.

Cet article n’a pas résolu votre problème ?

Ouvrir un ticket