Cas d’usage · Ce qu’il fait sur votre serveur
Sauvegarder une application avec PostgreSQL
Sauvegarder une application avec PostgreSQL : exports cohérents de chaque base, le dossier de l’application, et comment restaurer une seule base.
Votre application (Node, Python, Ruby, PHP, Go…) tourne sur un serveur Linux, avec PostgreSQL sur la même machine, installé depuis les paquets de votre distribution ou dans un conteneur Docker. Cette page dit ce que NeverWiped sauvegarde, ce qu’il faut vérifier, et comment récupérer une base, l’application ou le serveur entier.
Ce que l’agent trouve
- Le dossier de votre application. Un dossier de
/optest sauvegardé comme application quand il contient un fichier de projet :package.json,composer.json,Gemfile,go.mod,manage.py, un.env, un dossier.gitou un fichier Compose. Les applications placées dans/srv,/var/www,/homeou/rootsont sauvegardées avec ces dossiers (ce qui est sauvegardé). - PostgreSQL sur le serveur. Quand
pg_dumpall, le socket local et l’utilisateurpostgressont présents, toutes les bases sont exportées avecpg_dumpall, lancé en tant quepostgres: chaque base cohérente en elle-même, plus les rôles (une base de données). - PostgreSQL dans un conteneur. Un conteneur en marche d’une image PostgreSQL, PostGIS ou TimescaleDB est exporté par
docker exec, avec l’utilisateur dePOSTGRES_USER(bases dans Docker). - La configuration :
/etcet les tâches planifiées. Debian et Ubuntu rangent les réglages de PostgreSQL dans/etc/postgresql; d’autres distributions peuvent les garder dans le dossier de données, qui n’est pas copié : ajoutez ces fichiers avec--include.
Les fichiers de la base eux-mêmes ne sont pas copiés : c’est l’export que vous restaurez. Exclus par défaut : **/node_modules, **/.cache, /var/cache (ce qui est sauvegardé).
Vérifiez le plan avant de l’accepter
- PostgreSQL figure parmi les bases. Sinon, il n’est pas sauvegardé. Il doit tourner sur ce serveur, avec son socket à l’emplacement habituel.
- Une base sur une autre machine (une base managée, un serveur de base séparé) n’est pas exportée. Installez aussi l’agent sur ce serveur, s’il est à vous.
- De la place pour l’export. Pendant une sauvegarde, l’export est écrit sur le disque du serveur, dans
/var/lib/neverwiped/dumps, puis supprimé. L’estimation montre la taille des fichiers de la base, pas celle de l’export (taille et exclusions). - Résultats de build et caches.
--preset buildécarte ce qu’un build recrée ; les fichiers envoyés par vos utilisateurs et tout ce que seule votre application possède restent dedans.
Le plan est établi à l’installation. Quand vous ajoutez un serveur de base ou un dossier d’application, relancez neverwiped install --yes avec les mêmes options : il garde le même serveur et le même dépôt.
Récupérer
- Une base abîmée, les autres intactes (un mauvais
DELETE, une migration ratée) : sortez cette base de l’export, renommez la base abîmée et importez-la seule. Les commandes sont dans une base de données. - Toutes les bases, ou un nouveau serveur : réimportez le fichier entier, rôles compris, avec
psql(une base de données). - Un fichier de l’application (un fichier envoyé, un fichier de configuration) : un fichier ou un dossier.
- Le serveur entier : installez d’abord PostgreSQL et l’environnement de votre application, puis suivez un serveur entier.
Avant une migration, lancez neverwiped backup now : l’export est alors aussi récent que possible.
Ce qu’il ne fait pas ici
- Pas de restauration à un instant précis. On revient au moment d’une sauvegarde, chaque nuit ou une fois par semaine selon votre formule, pas à la seconde qui précède l’accident. Si vous en avez besoin, ajoutez l’archivage continu du journal d’écriture (WAL) de PostgreSQL lui-même ; NeverWiped ne le fait pas.
- Chaque base est cohérente en elle-même, pas toutes au même instant. Une application qui garde des données liées dans deux bases doit le savoir.
- Une réplique n’est pas une sauvegarde, et ceci n’est pas une réplique. Une restauration prend le temps d’un réimport ; elle ne garde pas l’application en marche si le serveur tombe.
- Root sur le serveur, et une seule copie : voir les limites connues.
Commencer
Sur le serveur, en root :
curl -fsSL https://neverwiped.com/install.sh | sh
Puis suivez les premiers pas. Autres serveurs : tous les cas d’usage.
Dernière relecture : 6 novembre 2026.