如何备份我的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卡),然后按读取。

当然,你也可以使用RawWritedd for Windows或类似的工具,过程很相似。

选项2

如果你不想备份整个系统,而只想备份特定的文件,我建议你通过SFTP连接到你的Raspberry Pi,然后把文件复制到你的本地电脑上(你可以使用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.确保在你的文件路径右边的下拉菜单中显示的设备是你要备份的那个。

7.点击"读取&quot。

8.等待。

评论(2)