J'écris des programmes pour mon Raspberry Pi (fonctionnant sous Raspbian) depuis quelques semaines maintenant et je voudrais m'assurer que je protège le travail que j'ai fait.
Comment puis-je sauvegarder les fichiers que j'ai créés ?
Puis-je simplement brancher la carte SD sur mon PC Windows (XP ou 7) et la copier soit sur le disque dur, soit sur une autre carte SD ?
Si vous voulez conserver toutes les données, vous devrez probablement créer une image disque. En outre, Windows ne peut pas reconnaître les systèmes de fichiers Linux typiques, de sorte que vous ne pourrez probablement même pas voir vos fichiers, lorsque vous brancherez votre carte SD.
La création d'une image disque préservera non seulement les fichiers mais aussi la structure du système de fichiers et lorsque vous déciderez de flasher votre nouvelle carte SD, vous pourrez simplement la brancher et elle fonctionnera.
dd if=/dev/sdx of=/path/to/image bs=1M
Où /dev/sdx
est votre carte SD.
dd if=/dev/rdiskx of=/path/to/image bs=1m
Où /dev/rdiskx
est votre carte SD.
(il est préférable d'utiliser rdisk car c'est le périphérique brut - plus rapide)
Pour savoir quel est votre disque, tapez diskutil list
à l'invite de commande - vous aurez peut-être besoin d'être root ; pour cela tapez sudo -s
et entrez votre mot de passe à l'invite.
Option 1
Sous Windows, vous pouvez utiliser le processus inverse de celui utilisé lors du flashage de la carte SD.
Vous pouvez utiliser [Win32 Disk Imager][1], qui est l'outil préféré pour convertir une carte SD de la Fondation. Il suffit de saisir le nom du fichier (l'emplacement et le nom du fichier image de sauvegarde à enregistrer), de sélectionner le périphérique (la carte SD) et d'appuyer sur lecture :
![Win32 Disk Imager][2]
Bien sûr, vous pouvez également utiliser [RawWrite][3], [dd
pour Windows][4] ou des outils similaires, le processus est assez similaire.
Option 2
Si vous ne voulez pas sauvegarder tout votre système, mais seulement des fichiers spécifiques, je vous suggère de vous connecter à votre Raspberry Pi via SFTP et de copier les fichiers sur votre ordinateur local (vous pouvez utiliser le client [WinScp][5]). Si vous avez activé SSH, SFTP ne nécessite généralement aucune configuration particulière du côté du Raspberry Pi.
Une autre option consiste à [copier les fichiers sur un système distant à l'aide de rsync][6].
Vous pouvez également installer des pilotes spéciaux pour que votre Windows puisse lire les systèmes de fichiers ext
(et sera donc capable de lire toute la carte SD), comme [ext2fsd
][7] mais cela n'en vaut probablement pas la peine.
Puisque l'image sera de la même taille que votre carte SD, vous pouvez vouloir la compresser. Pour cela, il suffit d'utiliser votre outil de compression préféré, tel que gzip
, 7zip, WinZip, WinRar ...
[1] : https://sourceforge.net/projects/win32diskimager/ [2] : http://i.stack.imgur.com/89CMl.png [3] : http://www.chrysocome.net/rawwrite [4] : http://www.chrysocome.net/dd [5] : http://winscp.net/eng/index.php [6] : https://raspberrypi.stackexchange.com/questions/5427/can-a-raspberry-pi-be-used-to-create-a-backup-of-itself/ [7] : http://www.ext2fsd.com/
Si vous êtes sous Linux, vous pouvez utiliser la commande dd
pour faire une sauvegarde complète de l'image :
dd if=/dev/sdx of=/path/to/image
ou pour la compression :
dd if=/dev/sdx | gzip > /path/to/image.gz
Où sdx
est votre carte SD.
Pour restaurer la sauvegarde, vous inversez les commandes :
dd if=/path/to/image of=/dev/sdx
ou lorsqu'elle est compressée :
gzip -dc /path/to/image.gz | dd of=/dev/sdx
Si vous utilisez Windows:
Téléchargez Win32 Disk Imager.
Créez le chemin du fichier que vous souhaitez utiliser pour enregistrer votre image. (J'utilise C:\RasPi_Bkp)
Exécutez Win32 Disk Imager
Naviguez jusqu'à l'emplacement du chemin d'accès de votre fichier de sauvegarde, et tapez un nom de fichier.
Cliquez sur sauvegarder
Assurez-vous que le périphérique indiqué dans la liste déroulante à droite de votre chemin d'accès au fichier est celui que vous souhaitez sauvegarder.
[Win32 Disk imager en action] [1]
Cliquez sur "Read" ;
Attendez.