Как да направя резервно копие на моя Raspberry Pi?

От няколко седмици пиша програми за моето Raspberry Pi (с Raspbian) и бих искал да съм сигурен, че ще защитя свършената работа.

Как мога да направя резервно копие на файловете, които съм създал?

Мога ли просто да включа SD картата към компютъра си с Windows (XP или 7) и да я копирам или на твърдия диск, или на друга SD карта?

Решение

Ако искате да запазите всички данни, вероятно ще трябва да създадете образ на диска. Освен това Windows не може да разпознае типичните файлови системи на Linux, така че вероятно дори няма да можете да видите файловете си, когато включите SD картата си.

Създаването на дисково изображение ще запази не само файловете, но и структурата на файловата система и когато решите да флашнете новата си SD карта, ще можете просто да я включите и тя ще работи.

Linux

В Linux можете да използвате стандартния инструмент `dd`:
dd if=/dev/sdx of=/path/to/image bs=1M

Където /dev/sdx е вашата SD карта.

Mac

На Mac можете да използвате и стандартния инструмент `dd` с малко по-различен синтаксис:
dd if=/dev/rdiskx of=/path/to/image bs=1m

Където /dev/rdiskx е вашата SD карта.

(използването на rdisk е за предпочитане, тъй като е необработено устройство - по-бързо)

За да разберете кой е дискът на вашето устройство, въведете diskutil list в командния промпт - може да се наложи да сте root; за целта въведете sudo -s и въведете паролата си, когато бъдете подканени.

Windows

Вариант 1

В Windows можете да използвате обратния процес, който сте използвали при флашването на SD картата.

Можете да използвате Win32 Disk Imager, който е предпочитаният инструмент за флашване на SD карта на Фондацията. Просто въведете името на файла (местоположението и името на файла с резервното изображение, което трябва да бъде записано), изберете устройството (SD картата) и натиснете read (прочети):

Разбира се, можете да използвате и RawWrite, dd for Windows или други подобни инструменти, като процесът е доста сходен.

Вариант 2

Ако не искате да направите резервно копие на цялата си система, а само на определени файлове, предлагам ви да се свържете с Raspberry Pi чрез SFTP и да копирате файловете на локалния си компютър (можете да използвате клиента WinScp). Ако сте активирали SSH, SFTP обикновено не изисква специална конфигурация от страна на Raspberry Pi.

Друга възможност е да копирате файловете на отдалечена система, като използвате rsync.

Можете също така да инсталирате специални драйвери, така че вашият Windows да може да чете файловите системи ext (и по този начин ще може да чете цялата SD карта), като например ext2fsd, но вероятно не си заслужава усилията.


Тъй като изображението ще бъде със същия размер като SD картата ви, може да искате да го компресирате. Това може да се постигне просто чрез използване на любимия ви инструмент за компресиране, като например gzip, 7zip, WinZip, WinRar ...

Коментари (17)

Ако използвате Linux, можете да използвате командата dd, за да направите пълно резервно копие на изображението:

dd if=/dev/sdx of=/path/to/image

или за компресиране:

dd if=/dev/sdx | gzip > /path/to/image.gz

Където sdx е вашата SD карта.

За да възстановите резервното копие, трябва да обърнете командите:

dd if=/path/to/image of=/dev/sdx

или при компресиране:

gzip -dc /path/to/image.gz | dd of=/dev/sdx
Коментари (13)

Ако използвате Windows:

  1. Изтеглете Win32 Disk Imager.

  2. Създайте пътя на файла, който искате да използвате за запазване на изображението. (Аз използвам C:\RasPi_Bkp)

  3. Стартирайте Win32 Disk Imager

  4. Преминете към мястото за пътя на файла за архивиране и въведете име на файла.

  5. Щракнете върху Запази

  6. Уверете се, че устройството, показано в падащото меню вдясно от пътя на файла, е това, което искате да архивирате.

  1. Щракнете върху "Read"

  2. Изчакайте.

Коментари (2)