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
.envd’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