La plupart des restaurations dont on a besoin sont petites : une page mal modifiée, un fichier supprimé, une table vidée par une mauvaise mise à jour. Restaurer tout le site pour corriger cela jette toutes les commandes et tous les commentaires depuis la sauvegarde - d'ordinaire une perte plus grande que l'erreur d'origine.

Un fichier depuis une archive

tar -tzf backup.tar.gz | grep wp-config
tar -xzf backup.tar.gz -C /tmp/restore path/inside/archive/wp-config.php

Extrayez d'abord vers /tmp, toujours. Regardez-le, puis copiez-le à sa place : extraire directement par-dessus le site, c'est ainsi qu'une petite restauration en devient une grande.

Une table depuis un export

sed -n '/-- Table structure for table `wp_posts`/,/-- Table structure for table `wp_postmeta`/p' backup.sql > wp_posts.sql
mysql -u user -p dbname < wp_posts.sql

Un export est du texte brut dans l'ordre des tables : la portion entre un en-tête de table et le suivant est donc exactement une table.

Restaurer une table la supprime et la recrée. Tout ce qui y a été écrit depuis la sauvegarde disparaît : sur une table dans laquelle on écrit encore, restaurez dans une COPIE et déplacez les lignes dont vous avez besoin.
mysql -u user -p dbname_restore < wp_posts.sql
# then
INSERT INTO dbname.wp_posts SELECT * FROM dbname_restore.wp_posts WHERE ID = 123;

Savoir ce que contient la sauvegarde avant d'en avoir besoin

tar -tzf backup.tar.gz | head -30
grep -c "CREATE TABLE" backup.sql

Deux minutes maintenant, une seule fois, vous épargnent une heure le jour où quelque chose ne va pas - et ce jour-là n'est pas le bon pour découvrir que les téléversements n'ont jamais été inclus.

Sur l'hébergement EGPHP, EGPNL conserve des sauvegardes automatiques et restaure un seul fichier ou une seule base depuis le panneau : rien de ce qui précède n'est nécessaire, sauf si vous gérez le serveur vous-même.