Comment puis-je sauvegarder une partition (pas le disque entier) sur une autre partition d'un disque dur externe en utilisant DD?
J'ai réalisé ceci avec la commande suivante:
Sudo dd if=/dev/sda6 of=/dev/sdb3 bs=1M
Cependant mes exigences sont:
J'ai besoin de sauvegarder /dev/sda6
et de le stocker sous forme de fichier image (.img
) dans /dev/sdb3
De préférence en tant que fichier image compressé (.gz) (c'est en fait ce que j'essaie de réaliser)
(Voici mes tentatives stupides qui, évidemment, n'ont pas fonctionné:
Sudo dd if=/dev/sda6 of=/dev/sdb3/backup.img bs=4096 conv=notrunc,noerror
Sudo dd bs=1M if=/dev/sda6 | gzip -c > /dev/sdb3/backup.gz
Sauf si /dev/sdb3
est monté en fait sur /dev/sdb3
(j'en doute, recherchez des informations sur les périphériques et les points de montage), vous devez:
/dev/sdb3
est monté. Utilisez la commande mount
pour cela. Supposons que /dev/sdb3
soit monté dans /home
.Pointez votre fichier en écrivant à cet endroit:
Sudo dd if=/dev/sda6 of=/home/backup.img
Une fois cela fait, vérifiez que le fichier img contient ce que vous attendez.
En outre, est-il nécessaire de sauvegarder l'intégralité de la partition? Je trouve généralement plus facile et plus utile de sauvegarder des fichiers en utilisant rsync
ou quelque chose de similaire, puis en compressant le cas échéant le répertoire de sauvegarde obtenu. Mais c'est vraiment à vous de décider.
Ce que vous voulez faire implique 3 étapes simples:
Création d'un fichier disque
Utilisez fallocate
pour créer et préallouer des blocs dans un fichier de disque. C'est beaucoup plus rapide que de créer un fichier en le remplissant de zéros à l'aide de dd
ou d'autres outils. Pour spécifier la taille du fichier de disque, vous pouvez utiliser les préfixes MB/MiB/GB/GiB
. Par exemple, si vous voulez une image disque de taille 50 Gio, vous devez
$ fallocate -l 50GiB part_backup.img
Formatez le fichier disque. Dans cet exemple, j'utilise ext4
et désactive la fonction de journalisation car elle n'est pas nécessaire dans ce cas.
$ mkfs.ext4 -O '^has_journal' part_backup.img
Maintenant que notre fichier de disque est prêt, montez-le avec losetup
. Passez l'option --show
pour qu'elle imprime le périphérique de bouclage sur lequel votre fichier de disque est monté, par exemple /dev/loop0
$ Sudo losetup --show -f part_backup.img
Créez un dossier de montage dans /mnt
et montez le périphérique de bouclage dans le dossier.
$ Sudo mount /dev/loop0 /mnt/my_disk_file
Copier les données de la partition dans le fichier disque
Utilisez rsync
pour copier les fichiers dans le fichier disque que vous venez de monter.
$ Sudo rsync -avzPSX /mnt/media_partition/ /mnt/my_disk_file
Veuillez regarder ce que chacun de ces rsync choisit de faire dans l'homme de rsync si vous êtes inutilisé. Lisez également la note sur la fin de la barre oblique dans la source de sauvegarde.
Compresse le fichier disque
Démontez le fichier disque comme d'habitude
$ Sudo umount /mnt/my_disk_file
$ Sudo losetup -d /dev/loop0
Utilisez gzip
pour compresser le fichier disque