web-dev-qa-db-fra.com

Comment restaurer un système de fichiers sauvegardé par rsync?

Exécution de la version 12.04 avec Virtualmin/Webmin.

J'ai essayé de supprimer tous les fichiers linux-image inutiles aujourd'hui, car la partition /boot était saturée. J'ai suivi un guide de Ask Ubuntu, mais cela a abouti à un Grub cassé, ou à quelque chose du genre, probablement parce que la commande du guide suggéré supprimait plus qu'elle n'aurait dû.

Après plusieurs heures, j’ai finalement réussi à installer une nouvelle image du noyau et à créer un nouveau Grub, mais j’ai découvert par la suite que tous les fichiers du répertoire /run avaient été supprimés et probablement plusieurs autres fichiers/répertoires associés à ceux-ci. paquets dans ce répertoire. Je ne sais pas comment cela aurait pu arriver, mais je savais qu'il y avait déjà quelque chose d'étrange lorsque j'ai démarré en mode de récupération, étant donné que je ne pouvais trouver aucun lien vers le lien symbolique /etc/resolv.conf --> /run/resolvconf/resolv.conf.

Quoi qu'il en soit: j'ai une sauvegarde complète de mon système de fichiers, qui a été réalisée aujourd'hui avec la commande rsync (Sudo rsync -ahe ssh ..., options: --delete --exclude=.gvfs --exclude=/proc --exclude=/dev --exclude=/sys).

J'ai essayé de restaurer uniquement le répertoire /run, sans aucune chance.

Ma question est alors: puis-je simplement remplacer tous les fichiers sur mon serveur, par ceux de mon emplacement de sauvegarde, par la même commande rsync? (Oui, je sais que je dois permuter "source" et "destination" dans la commande)

Au cas où cela serait possible, y a-t-il autre chose que je devrais faire après?

5
Joachim

Tout d’abord, je tiens à vous féliciter de disposer d’une copie de sauvegarde actuelle: vous avez atteint le 90e centile de la diligence. Maintenant pour procéder, je voudrais faire ceci:

  1. Démarrez à partir du CD d’installation dans l’environnement Live Ubuntu (ou, si vous utilisez un CD de serveur, choisissez l’option Réparation.)
  2. Ouvrir une fenêtre shell
  3. Montez le lecteur racine sur/mnt, par exemple.

    Sudo mount /dev/sda1 /mnt
    
  4. Créez un deuxième point de montage, /mnt2 et montez le lecteur de sauvegarde sur celui-ci.

    Sudo mkdir /mnt2
    Sudo mount /dev/sdb1 /mnt2
    
  5. Maintenant restaurer comme ça

    for DIR in bin boot etc home lib lib64 opt root run sbin usr var; do
      Sudo rsync -aH --delete /mnt2/$DIR /mnt
    done
    

    Tous les répertoires que j'ai sautés, dev, sysfs, tmp, etc. doivent être essentiellement vides.

  6. Une fois la restauration terminée, essayez de chrooter sur /mnt et de mettre à jour grub.

    for DIR in dev proc sys; do
       Sudo mount --bind /$DIR /mnt/$DIR
    done
    Sudo chroot /mnt
    update-grub
    
  7. Redémarrer

Si cela ne fonctionne pas, il est temps de réinstaller et de restaurer votre répertoire/home et tous les fichiers de données souhaités.

1
nortally