Pour les agents IA
Cette page s’adresse aux assistants qui pilotent un serveur (Claude Code, Codex, Cursor, ChatGPT…). Elle suffit pour installer NeverWiped, vérifier que la sauvegarde fonctionne et restaurer, sans intervention humaine sauf deux moments : fournir la clé d’API et recevoir la clé de récupération. Version Markdown : https://docs.neverwiped.com/agents-ia.md. Index : https://docs.neverwiped.com/llms.txt.
Règles
- Toutes les commandes se lancent en root (préfixez par
sudosinon). - Ajoutez **toujours
--yes** : sans terminal, l’agentneverwipedrefuse de deviner et s’arrête avecaucune réponse possible (entrée non interactive) : relancez avec --yes pour confirmer sans question. - Un code de sortie différent de
0est un échec : lisez la ligneErreur : …(Error: …en anglais et en espagnol) sur la sortie d’erreur et consultez https://docs.neverwiped.com/depannage.md.2= mauvaise utilisation (option, argument ou clé manquants). - Ne restaurez jamais en place (
restoresans--target) sans l’accord explicite de l’humain : cela écrase les fichiers actuels. Pour tout test, utilisez--target. - Ne stockez la clé de récupération nulle part sur le serveur, dans un dépôt Git, un fichier de projet ou vos notes : transmettez-la à l’humain et demandez-lui de la ranger dans son gestionnaire de mots de passe.
- Ne lancez pas deux commandes
neverwipeden même temps (une autre opération neverwiped est déjà en cours). - Langue : l’agent suit la langue du système (anglais par défaut). Les sorties citées sur cette page sont en français : exportez
NEVERWIPED_LANG=fravant toutes les commandes pour les retrouver mot pour mot, ou appuyez-vous sur les sorties--json(status --json,list --json) et les codes de sortie, qui ne dépendent pas de la langue. Pour parler à l’humain dans sa langue, gardez sa langue système ou choisissezNEVERWIPED_LANG=en|es. - **Ne lancez jamais
neverwiped recoversans l’accord explicite de l’humain** : il révoque l’accès au stockage de l’ancien serveur, qui cesse de sauvegarder s’il tournait encore.
Étape 0 — Vérifier les prérequis
uname -sm # attendu : Linux x86_64 ou Linux aarch64
id -u # attendu : 0 (sinon utilisez sudo)
command -v curl || command -v wget
command -v sha256sum || command -v openssl
curl -fsS -o /dev/null -w '%{http_code}\n' https://neverwiped.com/install.sh # attendu : 200
command -v neverwiped && neverwiped status # déjà installé ?
Si neverwiped status répond déjà avec une ligne Serveur : …, l’agent est installé : passez à l’étape 3 (vérifier). Relancer l’installation ne crée pas de doublon, mais ce n’est pas nécessaire.
Étape 1 — Obtenir la clé d’API
La clé d’API ne s’obtient que dans l’espace client, par un humain connecté. Il n’existe pas d’API pour en créer une. Demandez-la à l’humain avec ce message :
Pour installer la sauvegarde NeverWiped, j’ai besoin d’une clé d’API. Connectez-vous sur https://neverwiped.com/connexion (ou créez un compte sur https://neverwiped.com/inscription et confirmez l’adresse e-mail), ouvrez « Clés d’API » (https://neverwiped.com/espace/cles-api), créez une clé nommée d’après ce serveur, puis collez-moi la clé (elle commence par
nw_acc_).
Contrôle du format avant de l’utiliser : nw_acc_ suivi de 43 caractères parmi A-Z a-z 0-9 _ -.
echo "$NEVERWIPED_API_KEY" | grep -Eq '^nw_acc_[A-Za-z0-9_-]{43}$' && echo format-ok
Ne l’écrivez pas dans un fichier : passez-la par la variable d’environnement ou l’option --api-key. Une fois le serveur enregistré, elle n’est plus utilisée (l’agent reçoit sa propre clé, nw_agt_…).
Étape 2 — Installer
export NEVERWIPED_API_KEY='nw_acc_…'
export NEVERWIPED_LANG=fr # sorties en français, comme sur cette page
set -o pipefail # bash : le code de sortie reflète l’échec de n’importe quelle étape du tube
curl -fsSL https://neverwiped.com/install.sh | sh -s -- --api-key "$NEVERWIPED_API_KEY" --yes 2>&1 | tee /tmp/neverwiped-install.log
echo "code de sortie : $?" # attendu : 0
Variantes : sans curl, wget -qO- https://neverwiped.com/install.sh | sh -s -- --api-key "$NEVERWIPED_API_KEY" --yes ; pour ajuster le plan, ajoutez des options après --yes : --include /data, --exclude "*.log", --no-databases, --no-docker, --no-backup (voir https://docs.neverwiped.com/commandes.md).
Sortie attendue, dans cet ordre (les valeurs varient) :
neverwiped installed to /usr/local/bin/neverwiped (sha256 e877d3af…).
NeverWiped 0.3.0 — installation sur vps-prod (Debian GNU/Linux 12 (bookworm))
restic 0.18.1 installé et vérifié (SHA-256) : /var/lib/neverwiped/bin/restic-0.18.1
Plan de sauvegarde proposé :
• Configuration système : /etc
• Fichiers web : /var/www
• PostgreSQL local : export complet par pg_dumpall
…
Valider ce plan de sauvegarde ? oui (--yes)
Serveur enregistré (identifiant be1e7955-1dd6-4211-8002-7746d6ede9e2)
Dépôt chiffré créé (la clé reste sur ce serveur, jamais envoyée)
Sauvegarde hebdomadaire planifiée : crontab de root (16 2 * * 0)
========================================================================
CLÉ DE RÉCUPÉRATION — notez-la maintenant, hors de ce serveur.
Ab3dEf-GhJkMn-PqRsTu-VwXyZa-b2c3d4-e5f6g7
Elle ne sera plus jamais affichée et NeverWiped ne la connaît pas.
Sans elle, si ce serveur est perdu, vos sauvegardes sont illisibles.
========================================================================
Lancer la première sauvegarde maintenant ? oui (--yes)
Sauvegarde démarrée (install)
Export postgresql (toutes les bases)…
Sauvegarde réussie en 1s : 3,3 Mo ajoutés, 3,2 Mo stockés au total, instantané 8b28999a
Terminé. Commandes utiles : neverwiped status · neverwiped list · neverwiped restore <date> --target /root/restauration
Lignes à trouver obligatoirement : restic 0.18.1 installé et vérifié, Serveur enregistré (ou Serveur déjà enregistré), planifiée :, Sauvegarde réussie (sauf avec --no-backup) et Terminé.. La ligne Avertissement : planification automatique impossible signifie qu’il faut planifier soi-même (voir dépannage).
Clé de récupération : c’est la ligne de 6 groupes de 6 caractères séparés par des tirets, sous CLÉ DE RÉCUPÉRATION. Transmettez-la immédiatement à l’humain, puis effacez le journal temporaire :
grep -Eo '^ [A-Za-z0-9]{6}(-[A-Za-z0-9]{6}){5}$' /tmp/neverwiped-install.log | tr -d ' ' # quelle que soit la langue
rm -f /tmp/neverwiped-install.log
(En anglais l’encadré s’intitule RECOVERY KEY, en espagnol CLAVE DE RECUPERACIÓN.)
Message type : « Voici la clé de récupération de vos sauvegardes NeverWiped : …. Rangez-la dans votre gestionnaire de mots de passe, hors de ce serveur : elle ne sera plus jamais affichée et NeverWiped ne la connaît pas. Sans elle, si le serveur est perdu, les sauvegardes sont illisibles. » Elle n’apparaît qu’à la création du dépôt : si l’installation a déjà eu lieu, elle ne peut pas être réaffichée.
Étape 3 — Vérifier
neverwiped status
Contrôles (tous doivent être vrais) :
| Ligne | Attendu |
|---|---|
Abonnement : | une formule suivie de (trialing) ou (active) |
Sauvegardes : | quotidienne, actives ou hebdomadaire, actives |
Dernière : | une date récente, pas aucune sauvegarde pour l’instant |
Planification: | minuteur systemd (…), /etc/cron.d/neverwiped ou crontab de root (crond) |
Script de contrôle :
S="$(neverwiped status)" && echo "$S" | grep -q 'actives' && ! echo "$S" | grep -q 'aucune sauvegarde' && ! echo "$S" | grep -q 'aucune trouvée' && echo STATUS-OK
neverwiped list --json | grep -q '"short_id"' && echo LIST-OK
# variante indépendante de la langue :
J="$(neverwiped status --json)" && echo "$J" | grep -q '"can_backup": true' && ! echo "$J" | grep -q '"last_backup_at": null' && ! echo "$J" | grep -q '"kind": "none"' && echo STATUS-JSON-OK
Vérifiez aussi ce que contient le plan (lignes Dossiers, Base, Volume) : si une donnée importante manque (par exemple un dossier d’application hors de /opt, /srv ou /var/www), relancez neverwiped install --include /chemin --yes en répétant les options déjà utilisées.
Étape 4 — Tester une restauration (à faire à l’installation)
rm -rf /root/nw-test && neverwiped restore latest --target /root/nw-test --yes
test -d /root/nw-test/etc && echo RESTORE-OK
ls /root/nw-test/var/lib/neverwiped/dumps 2>/dev/null # exports de bases, s’il y en a
rm -rf /root/nw-test
Pour un contrôle plus fin d’un dossier : diff -r /root/nw-test/var/www /var/www (avant de l’effacer) ne doit montrer que les fichiers modifiés depuis la sauvegarde.
Restaurer à la demande de l’humain
- Listez :
neverwiped list(ou--json), choisissez une dateAAAA-MM-JJ,latestou un identifiant. - Restaurez dans un dossier :
neverwiped restore 2026-11-03 --target /root/restauration --yes. Ajoutez--include /var/www/sitepour un seul chemin. - Copiez ce qui est demandé depuis
/root/restauration/<chemin d’origine>. - Base de données : le fichier
.sqlest dans/root/restauration/var/lib/neverwiped/dumps/; les commandes de réimport sont sur https://docs.neverwiped.com/restauration.md. Demandez confirmation avant de réimporter sur une base en service. - Restauration en place seulement sur demande explicite :
neverwiped restore 2026-11-03 --yes(écrase les fichiers sauvegardés par leur version de cette date).
Autres opérations
| Besoin | Commande |
|---|---|
| Sauvegarder maintenant | neverwiped backup now |
| Voir le journal | tail -n 50 /var/log/neverwiped.log |
| Ajouter un dossier | neverwiped install --include /chemin --yes |
| Désinstaller (sauvegardes conservées) | neverwiped uninstall --yes |
| Désinstaller et demander la suppression des sauvegardes (confirmée par le titulaire dans l’espace client) | neverwiped uninstall --yes --delete-backups |
| Signaler un problème à l’équipe (avec l’accord de l’humain sur le texte) | neverwiped feedback --yes --kind bug "…" : seul le texte, son type et la version de l’agent sont envoyés |
| Serveur perdu : récupérer ses sauvegardes sur un nouveau serveur (seulement avec l’accord explicite de l’humain, qui fournit la clé de récupération) | NEVERWIPED_RECOVERY_KEY='…' neverwiped recover --api-key "$NEVERWIPED_API_KEY" --yes, puis neverwiped list, neverwiped restore latest --target /root/restauration --yes, neverwiped install --yes (voir https://docs.neverwiped.com/restauration.md) |
| Version | neverwiped version |
Ce que vous ne pouvez pas faire en ligne de commande
Créer un compte, créer une clé d’API, changer de formule, payer, supprimer les sauvegardes d’un serveur ou le compte : tout cela se fait dans l’espace client (https://neverwiped.com/espace), par l’humain.